requirement is only for government site right? accessibilityなんて⾯倒くさいし、だれも気づかな いし、機能完成すればいいでしょう? implement accessibility is annoying and no one would notice that. We just have to complete the feature and everything should be fine もっと技術的な課題をやりたいな。accessibilityは 時間の無駄無駄 I want to try more technical thing. Accessibility is just wasting time
O perable U nderstandable R obust Available through sight, hearing, or touch. Compatible with keyboard or mouse. easy to comprehend. Can work on many browsers, device, screen reader
overlay 2. Always provide close button 3. Can be closed by ESC key 4. role=dialog 5. Manage Focus (Focus Trap) 6. Setting up proper aria and role 7. Prevent Scroll from body 8. Proper aria-label, aira- describedby 19 Try to use it via screen reader Bad
overlay 2. Always provide close button 3. Can be closed by ESC key 4. role=dialog 5. Manage Focus (Focus Trap) 6. Setting up proper aria and role 7. Prevent Scroll from body 8. Proper aria-label, aira- describedby 20 Try to use it via screen reader
want to implement custom select box 25 downshift.js 1. aria-haspopup=listbox 2. switch aria-selected 3. use arrow to navigate option 4. use enter key to select option 5. use correct aria-activedescendant to indicate current focus item
button in form tag, it'll submit automatically 2. enter key, focus, touch, click event would be handled automatically 3. screen reader will read it in correct way 4. add type always (reset, button, submit) 36 <div onClick={handleClick}>click me</div> <div role="button" onClick={handleClick}>click me</div>
link or anchor, use <a> 2. If it's a button, use <button> 37 <a onClick>I'm a link</a> <a href="javascript:void(0)">I'm a link</a> <button onClick={() => location.href="/1234"}>I'm a link</button>
Complementary role • ARIA: List role • ARIA: Listitem role • ARIA: Main role • ARIA: Mark role • ARIA: Navigation Role • ARIA: Region role • ARIA: Suggestion role • ARIA: alert role • ARIA: application role • ARIA: article role • ARIA: banner role • ARIA: button role • ARIA: cell role • ARIA: checkbox role • ARIA: contentinfo role • ARIA: dialog role • ARIA: document role • ARIA: feed role • ARIA: figure role • ARIA: form role • ARIA: grid role • ARIA: gridcell role • ARIA: heading role • ARIA: img role • ARIA: listbox role • ARIA: row role • ARIA: rowgroup role • ARIA: search role • ARIA: switch role • ARIA: tab role • ARIA: table role • ARIA: tabpanel role • ARIA: textbox role • ARIA: timer role • Aria Examples WCAG Guideline