Adventure style text saying Inclusive React a survival guide over a forest backdrop.
Adventure style text saying Almero Steyn with a twitter handle of @Kryptos_RSA and his blog address of almerosteyn.com.

Get your QR-code scanner apps ready!

Telephone used as QR code scanner.

Inaccessible things are out of reach

Rusted old lock and chain in a wooden door so unused it has spider webs.

Inaccessible

Accessible


:focus {
    outline: 0; //Or none
}
            

       :focus {
          // Some visual style
       }
                   

Name:



<label htmlFor="nameInput">
    Name:
</label>

<input id="nameInput"
       type="text" />




Inaccessible

Accessible


            <div className="button-style"
                 onClick={onClickHandler}>
                 Press Me
            </div>
                   

        <button onClick={onClickHandler}>
             Press Me
        </button>
               

<a onClick={onClickHandler}>
    Click me
</a>


    Navigate somewhere

A button with dark blue text on a darker blue background showing bad contrast.
A button with dark blue text on a light blue background showing good contrast.

We need a Swiss Army Knife

Swift army knife with blades and tools open.

The React Accessibility Doc

Screen capture of the React accessibility docs page. QR code for url reactjs.org/docs/accessibility.html reactjs.org/docs/accessibility.html
Text image spelling WAI-ARIA.
Text image spelling A11Y.
Text image spelling WCAG.
Text image spelling WAI-ARIA.

WCAG

Web Content Accessibility Guidelines

Defines how to make Web content more accessible to all people.
QR code for url webaim.org/standards/wcag/checklist
webaim.org/standards/wcag/checklist

WAI - ARIA

Web Accessibility Initiative – Accessible Rich Internet Applications

Specifies how to increase the accessibility of web applications.
QR code for url https://www.w3.org/TR/wai-aria-practices-1.1/
www.w3.org/TR/wai-aria-practices-1.1/

Semantic JSX and HTML

Non-semantic

<Navigation />
<SideMenu />
<MainContent /> <div className="button-style" onClick={handler}> Save selection
</div>

Semantic

<MainContent /> <button type="button" onClick={handler}> Save selection </button>

HTML !== <div>

Treasure chest spilling gold. QR code for url https://developer.mozilla.org/en-US/docs/Web/HTML/Element developer.mozilla.org/en-US/docs/Web/HTML/Element

Test with your keyboard

Use TAB, SHIFT + TAB, ENTER and the arrow keys.
Keyboard with blue backlighting.

eslint-plugin-jsx-a11y

Screen capture of eslint-plugin-jsx-a11y IDE integration.
QR code for url github.com/evcohen/eslint-plugin-jsx-a11y
github.com/evcohen/eslint-plugin-jsx-a11y

aXe and axe-core

Screen capture of aXe audit in browser. QR code for url www.deque.com/axe
www.deque.com/axe

react-axe

Screen capture of aXe audit in browser. QR code for url github.com/dequelabs/react-axe
github.com/dequelabs/react-axe

Test with screen readers

Computer with headphones to listen to text speech. QR code for url reactjs.org/docs/accessibility.html#screen-readers
reactjs.org/docs/accessibility.html#screen-readers
Adventure style text saying Inclusive React a survival guide over a forest backdrop. Also has a QR code to url almerosteyn.com/2018/04/inclusive-react almerosteyn.com/2018/04/inclusive-react

Images CC0 - Pixabay