1"use strict";(globalThis.webpackChunk_atlas_docs_ideal=globalThis.webpackChunk_atlas_docs_ideal||[]).push([[1277],{34056(e,s,t){t.d(s,{R:()=>n,x:()=>c});var r=t(22155);const d={},i=r.createContext(d);function n(e){const s=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:n(e.components),r.createElement(i.Provider,{value:s},e.children)}},88574(e,s,t){t.r(s),t.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>n,metadata:()=>r,toc:()=>a});const r=JSON.parse('{"id":"address-finder/accessibility","title":"Accessibility","description":"Address Finder is developed to meet WCAG 2.1 Level AA. It implements the WAI-ARIA combobox pattern, works with screen readers and is operable by keyboard.","source":"@site/docs/address-finder/accessibility.mdx","sourceDirName":"address-finder","slug":"/address-finder/accessibility","permalink":"/docs/address-finder/accessibility","draft":false,"unlisted":false,"tags":[],"version":"current","frontMatter":{"title":"Accessibility","sidebar_label":"Accessibility"},"sidebar":"addressfinder","previous":{"title":"Callbacks","permalink":"/docs/address-finder/callbacks"},"next":{"title":"Separate Input from Address","permalink":"/docs/address-finder/separate-input"}}');var d=t(65723),i=t(34056);const n={title:"Accessibility",sidebar_label:"Accessibility"},c=void 0,o={},a=[{value:"Screen Reader Support",id:"screen-reader-support",level:2},{value:"Keyboard Support",id:"keyboard-support",level:2},{value:"Testing",id:"testing",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(s.p,{children:["Address Finder is developed to meet ",(0,d.jsx)(s.a,{href:"https://www.w3.org/TR/WCAG21/",children:"WCAG 2.1 Level AA"}),". It implements the WAI-ARIA combobox pattern, works with screen readers and is operable by keyboard."]}),"\n",(0,d.jsx)(s.h2,{id:"screen-reader-support",children:"Screen Reader Support"}),"\n",(0,d.jsxs)(s.p,{children:["The suggestion list is exposed as an ARIA combobox: the input carries ",(0,d.jsx)(s.code,{children:'role="combobox"'}),", ",(0,d.jsx)(s.code,{children:"aria-expanded"})," and ",(0,d.jsx)(s.code,{children:"aria-controls"}),", and the suggestion list is a ",(0,d.jsx)(s.code,{children:"listbox"})," of ",(0,d.jsx)(s.code,{children:"option"})," elements. DOM focus stays on the input at all times - the highlighted suggestion is conveyed via ",(0,d.jsx)(s.code,{children:"aria-activedescendant"}),", so screen reader users hear each suggestion as they arrow through it, along with its position in the list."]}),"\n",(0,d.jsxs)(s.p,{children:["By default Address Finder uses ARIA 1.0 authoring, which has the widest screen reader support (notably VoiceOver and NVDA). The ",(0,d.jsxs)(s.a,{href:"/docs/address-finder/configuration-reference",children:[(0,d.jsx)(s.code,{children:"aria"})," option"]})," switches to ARIA 1.1 authoring if preferred."]}),"\n",(0,d.jsxs)(s.p,{children:["The ",(0,d.jsx)(s.code,{children:"aria-label"})," on the suggestion list can be customised with the ",(0,d.jsx)(s.code,{children:"msgList"})," option - see ",(0,d.jsx)(s.a,{href:"/docs/address-finder/messages",children:"Messages"}),"."]}),"\n",(0,d.jsx)(s.h2,{id:"keyboard-support",children:"Keyboard Support"}),"\n",(0,d.jsxs)(s.table,{children:[(0,d.jsx)(s.thead,{children:(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.th,{children:"Key"}),(0,d.jsx)(s.th,{children:"Action"})]})}),(0,d.jsxs)(s.tbody,{children:[(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{children:[(0,d.jsx)("kbd",{children:"\u2193"})," / ",(0,d.jsx)("kbd",{children:"\u2191"})]}),(0,d.jsx)(s.td,{children:"Move through suggestions, wrapping at either end"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{children:(0,d.jsx)("kbd",{children:"Enter"})}),(0,d.jsx)(s.td,{children:"Select the highlighted suggestion and populate the form"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{children:(0,d.jsx)("kbd",{children:"Escape"})}),(0,d.jsx)(s.td,{children:"Close the suggestion list and clear the input"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{children:[(0,d.jsx)("kbd",{children:"Home"})," / ",(0,d.jsx)("kbd",{children:"End"})]}),(0,d.jsx)(s.td,{children:"Return to the input"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsx)(s.td,{children:(0,d.jsx)("kbd",{children:"Tab"})}),(0,d.jsx)(s.td,{children:"Move to the country toggle; press again to leave the widget"})]}),(0,d.jsxs)(s.tr,{children:[(0,d.jsxs)(s.td,{children:[(0,d.jsx)("kbd",{children:"Enter"})," / ",(0,d.jsx)("kbd",{children:"Space"})," on the country toggle"]}),(0,d.jsx)(s.td,{children:"Open the country list"})]})]})]}),"\n",(0,d.jsxs)(s.p,{children:["Clickable elements rendered by Address Finder (the country toggle, the ",(0,d.jsx)(s.a,{href:"/docs/address-finder/no-match-action",children:"no-match action"}),", the ",(0,d.jsx)(s.a,{href:"/docs/address-finder/hide",children:"unhide link"}),") are focusable buttons and respond to ",(0,d.jsx)("kbd",{children:"Enter"})," and ",(0,d.jsx)("kbd",{children:"Space"}),"."]}),"\n",(0,d.jsx)(s.h2,{id:"testing",children:"Testing"}),"\n",(0,d.jsx)(s.p,{children:"Every release is gated by automated WCAG A/AA scans and keyboard regression tests covering the interactions above."}),"\n",(0,d.jsxs)(s.p,{children:["If you find an accessibility issue, please ",(0,d.jsx)(s.a,{href:"https://github.com/ideal-postcodes/feedback/issues",children:"report it"}),"."]})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,d.jsx)(s,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.