1 of 19

half-assedcessibility

2 of 19

3 of 19

We have 15 minutes so...

4 of 19

keyboard accessible

interactive components

first

5 of 19

<Button />

6 of 19

- Focusable regardless of tag type or disabled state�

- Keyboard clickable

�- Screen readers recognize it as a button (unless it has an href)

�- Screen readers can tell if it’s disabled

7 of 19

handleClickIntent()

8 of 19

<Input />�<Select />

<Checkbox />

<RadioGroup />

<TextArea />

9 of 19

- screen readers read labels (and fieldsets)�

- screen readers recognize checkboxes and radio buttons as such

- don’t get fancy with checkbox and radio inputs,

If you do, make sure you can toggle it with the keyboard.

- don’t get fancy with select dropdowns unless you know what you’re doing

at a bare minimum the arrow keys should select the prev/next item when focused

10 of 19

useAutoFocus()

11 of 19

<Modal />

12 of 19

- esc to close (please!)�

- autofocus first focusable element�

- restore focus�

- focus trapping�

- role='dialog'��- labelledBy

13 of 19

enableSmartFocusOutlines()

14 of 19

Contrast checkers

15 of 19

Contrast checkers

accessible-colors.com

usecontrast.com

webaim.org/resources/contrastchecker/

chrome.google.com/webstore/detail/wcag-contrast-checker/plnahcmalebffmaghcpcmpaciebdhgdf?hl=en

contrast-ratio.com

monsido.com/tools/contrast-checker

etc, etc, etc...

16 of 19

ChromeVox

17 of 19

ChromeVox

18 of 19

ChromeVox

19 of 19

Code from this talk available here

https://github.com/afraser/accessibility-tips