Slide 1

Slide 1 text

a11y testing Knowledge exchange Niklas Kiefer

Slide 2

Slide 2 text

What’s in ● why it matters ● different testing strategies ○ manual vs. automatic testing ○ unit vs. integration testing ● how others are doing it ○ Desktop Modeler & bpmn-io team ○ Carbon ● code examples

Slide 3

Slide 3 text

Disclaimer a11y testing doesn’t make your web content accessible!

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

a11y testing - why it matters ● regularly test your components against a set of defined rules and best practices ● automatic testing: catch bugs earlier ○ “find on average 57% of WCAG issues automatically”, cf. https://github.com/dequelabs/axe-core ● get a better understanding of how our products works for a wider range of users

Slide 6

Slide 6 text

Manual testing ● tab like crazy ● regularly use screen reader or voice recognition tools ○ macOS build in features ● use dev tools ○ axe dev tools ○ Google Lighthouse

Slide 7

Slide 7 text

Tab like crazy

Slide 8

Slide 8 text

Tab like crazy

Slide 9

Slide 9 text

Tab like crazy: automatic? https://github.com/bpmn-io/bpmn-js-properties-panel/pull/703

Slide 10

Slide 10 text

Dev tools

Slide 11

Slide 11 text

Automatic testing ● unit tests - test your components ● integration tests - test a “real world” example

Slide 12

Slide 12 text

Unit tests

Slide 13

Slide 13 text

Unit tests ● test helper ● axe core

Slide 14

Slide 14 text

Unit tests

Slide 15

Slide 15 text

Unit tests

Slide 16

Slide 16 text

Integration tests ● bootstrap a realistic scenario with multiple components ● run the same test suite with axe-core ● example: BPMN properties panel

Slide 17

Slide 17 text

Automatic testing Recommendation: Use unit tests over integration tests to cover the most important a11y basics.

Slide 18

Slide 18 text

How others do: Carbon ● Accessibility – Carbon Design System ● IBM accessibility requirements

Slide 19

Slide 19 text

● Package: accessibility-checker ● Example: Radio Button How others do: Carbon

Slide 20

Slide 20 text

What’s more ● Training - Accessible Code ● Find some notes in this Miro board

Slide 21

Slide 21 text

Thank you! Any questions?