Slide 1

Slide 1 text

AA 1 2 Stéphanie Walter - stephaniewalter.design - 2023 Pushing accessibility with design documentation

Slide 2

Slide 2 text

Why fix it, when you could design and build it right to start with?

Slide 3

Slide 3 text

And a lot of accessibility issues can be already foreseen and prevented in the design phase.

Slide 4

Slide 4 text

Designer can use design documentation to include and push accessibility earlier in projects.

Slide 5

Slide 5 text

Where and how can designers impact accessibility?

Slide 6

Slide 6 text

Visual Design Content Access Way-finding Interactions

Slide 7

Slide 7 text

Visual Design

Slide 8

Slide 8 text

Colors (or colours for the Brits in the room)

Slide 9

Slide 9 text

Current Page Indicator Color is not the only visual way to convey information

Slide 10

Slide 10 text

Check color contrast ratios for texts / background (4.5:1 regular / 3:1 large)

Slide 11

Slide 11 text

Check color contrast for 
 non-text elements: UI components, graphic objects (3:1 ratio)

Slide 12

Slide 12 text

Building an accessible color palette from the start

Slide 13

Slide 13 text

Start with the main color(s)

Slide 14

Slide 14 text

Create color variations (darker, lighter) that can work together text on background

Slide 15

Slide 15 text

A contrast grid matrix to help define color combinations

Slide 16

Slide 16 text

Document how they should be used together

Slide 17

Slide 17 text

What variant of green can be combined for the status?

Slide 18

Slide 18 text

Text: 
 Resizing and typography

Slide 19

Slide 19 text

Text resize to 200% without losing content / elements

Slide 20

Slide 20 text

Text resizing designer guidelines ๏ Avoid fixed height buttons ๏ Avoid fixed height text boxes with overflow: hidden ๏ Adapt layout at larger font size if necessary (multiple columns might become one, secondary text on the right might go to the next line, etc.) ๏ Maintain hierarchy even with bigger fonts (H1 titles should be bigger than H2, etc.)

Slide 21

Slide 21 text

Don’t use fancy special characters Source: Alexa Heinrich

Slide 22

Slide 22 text

Interactions

Slide 23

Slide 23 text

Buttons and links

Slide 24

Slide 24 text

Link identification ๏ Check that color is not the only way to identify a link in a block of text from its surrounding. The easiest way is to underline links in text. ๏ If the color is the only way to identify it, it must have a 3:1 contrast ratio with adjacent non link text and provide additional visual cues on hover

Slide 25

Slide 25 text

Seriously, 
 just, underline the links and call it a day! 🤷

Slide 26

Slide 26 text

Link / button purpose & consistency ๏ “Does the user understand what will happen if they click/tap/interact with it?” ๏ Avoid “click here” ๏ Use direct action verbs (open, cancel, close)

Slide 27

Slide 27 text

Documenting link states

Slide 28

Slide 28 text

Document button states, including focus state

Slide 29

Slide 29 text

For complex links, document what area is actionable

Slide 30

Slide 30 text

Forms and inputs

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Form guidelines ๏ Each field has a label ๏ The label is clear and helps understand how to fill the field ๏ Help users prevent errors (expected format, instructions, mandatory fields, etc.) ๏ Help to recover from errors (errors are marked, clear messages, etc.) 3.3

Slide 33

Slide 33 text

Form elements Text fields Value Label Value Label Message Value Label Label | Label Message Value Label Placeholder Label Message Value Label Placeholder Large Medium Small Default Focus Filled Readonly Error Success Info Label Value Label Value Label Message Value Label | Label Message Value Label Message Value Label Placeholder Label Message Value Label Message Value Label Placeh… Label | Label Value Label Value Label Message Value Label Label Value / Placeholder 16px Label 12px Value / Placeholder 14px Label 12px Value / Placeholder 12px Label 10px Info / error / warning / success 12px Info / error / warning / success 12px Info / error / warning / success 10px Status of form elements: error, success, etc. + the color rules!

Slide 34

Slide 34 text

Value Label Value Label Message Value Label Label | Label Message Value Label Component Usage in the search result page to filter out by year range Error case: if user enters something that is not a year with 4 digits and if users enters letters in that field Default Focus Filled Readonly Error Success Value 16px Label 12px Info / error / warning / success 12px 201n From Please enter a year number (for example 2022) YYYY To Apply Reset YYYY From YYYY To Apply Reset Signature Year Signature Year Document detail cases for error recovery

Slide 35

Slide 35 text

Complex component interactions

Slide 36

Slide 36 text

Users can navigate and interact with all components using different pointing and interaction devices (mouse, keyboard, etc.)

Slide 37

Slide 37 text

Interaction Flows: how should this component work for mouse users

Slide 38

Slide 38 text

Interactive Flow: mouse and keyboard

Slide 39

Slide 39 text

Archive email Complex gesture — swipe right to archive Alternative: Alternative: - open the mail details - press the “archive” icon at the top - long press to show the toolbar - then press the “archive” icon at the top Alternatives for complex gestures 2.5.1

Slide 40

Slide 40 text

Wayfinding

Slide 41

Slide 41 text

In Page Navigation

Slide 42

Slide 42 text

A good page ๏ Is unique for each page ๏ Is short and descriptive ๏ Helps users know where there are and what they can expect to find on that page ๏ Is NOT SEO keyword stuffing Image source: Accessiblity Annotation Kit Indeed

Slide 43

Slide 43 text

Example of Jira HTML documentation for enterprise App

Slide 44

Slide 44 text

Skip links

Slide 45

Slide 45 text

HTML5 section elements and ARIA Landmarks

Slide 46

Slide 46 text

Document ARIA Landmarks with Include plugin

Slide 47

Slide 47 text

Headings in the page

Slide 48

Slide 48 text

Headings ๏ The label of the heading is is descriptive, clear and accurately describes the content the follows ๏ Don’t have illogical order (a h2 after a h3) ๏ Don’t use paragraphs with bigger font, use Hns instead. Image source: Accessiblity Annoation Kit Indeed

Slide 49

Slide 49 text

Reading and focus order for navigation

Slide 50

Slide 50 text

Reading Order Documentation Example

Slide 51

Slide 51 text

Keyboard navigation: focus order at page level Figma template by the Fluent Design System team of Microsoft

Slide 52

Slide 52 text

Keyboard navigation: focus order at component level

Slide 53

Slide 53 text

Flows to document interactions between pages / views User Flows Screen flow

Slide 54

Slide 54 text

Content Access

Slide 55

Slide 55 text

Support both portrait and landscape mode

Slide 56

Slide 56 text

Image, icons, screen reader content

Slide 57

Slide 57 text

What should the assistive technology announce for those images?

Slide 58

Slide 58 text

It’s our job as a designer that the tools we design offer a place for the alternative text

Slide 59

Slide 59 text

Announced text for “icon buttons”

Slide 60

Slide 60 text

Screen reader alternative to non text information

Slide 61

Slide 61 text

Video, Audio and moving Content

Slide 62

Slide 62 text

Captions for videos Audio Podcast Transcript

Slide 63

Slide 63 text

Provide captions for all live audio content.

Slide 64

Slide 64 text

Provide controls for audio content that starts automatically and lasts more than 3 seconds

Slide 65

Slide 65 text

All of those features need to be part of the product roadmap and be designed. 
 
 As designers, you can push for those to get implemented, from the start.

Slide 66

Slide 66 text

Who and when can we document all of this?

Slide 67

Slide 67 text

I document final & tested components / pages, after discussion with devs about technical feasibility.

Slide 68

Slide 68 text

I usually document at component level Checkboxlist with search filter Checkboxlist Filters Interaction flow We use the checkbox list with no filter at the top where there are seven or less items in the list We use the checkbox list with a search filter at the top where there are height or more items in the list DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset DDDDDDD CCCCCCC BBBBBBB BBBBBBA AAAAABB AAAAAAB Apply Reset Filtered results Status (2) Status Status Status Status Status (2) User can open the filter menu when: - they click on it - they put the keyboard focus on it and hit / The reset button becomes active once the user checked any box. Once user hits the apply button (click or tab to focus + enter) the filter closes. The filter button changes to the active filter style. The number of active filters is shown (N) next to the filter name. The filter is also added to the active filter list next to the title : the next element is highlighted. : the previous element is highlighted. If the user hits , this element is checked. It still keeps the focus highlight untill the user focuses another element. Label here that goes on 3 lines because it is too long Label here 16px 16px 32px Label here Label here Label here Label here Label here Label here

Slide 69

Slide 69 text

๏ Ask the team for the best format and the best place to store this. ๏ I currently document with annotations and detailed specs in separate design system Sketch pages Sometimes I also document directly at page level when needed

Slide 70

Slide 70 text

Another example of detailed annotations using numbers and margin comments Image from Karen Hawkins

Slide 71

Slide 71 text

Determine the best format 
 for and with YOUR team: Jira? Confluence? Word Document? Mockup annotations?

Slide 72

Slide 72 text

This is NOT a substitute for communicating with people!

Slide 73

Slide 73 text

It’s a team effort!

Slide 74

Slide 74 text

Devs / Accessibility experts Content - UX writers / SEO QA / Testing Design teams Product / Project Management

Slide 75

Slide 75 text

Start with what you, your team members are comfortable with. Then build upon this base!

Slide 76

Slide 76 text

Mapping “who can document what?”

Slide 77

Slide 77 text

Have a place of reference that helps understand accessibility vocabulary and guidelines

Slide 78

Slide 78 text

What are the benefits of such documentation (aka how do I convince my team now)?

Slide 79

Slide 79 text

Benefits for myself, as designer (and my design team)

Slide 80

Slide 80 text

To learn more about accessibility. 1.

Slide 81

Slide 81 text

It forces me to think about different interactions, beyond the “static” pixels I am working on. 2.

Slide 82

Slide 82 text

A good onboarding tool for new designers, especially if they don’t know about accessibility. 3.

Slide 83

Slide 83 text

Benefits for the 
 design-developer collaboration

Slide 84

Slide 84 text

Design documentation helps gain time and avoids misinterpretations. 4.

Slide 85

Slide 85 text

It helps bring consistency to future pages and interactions. 5.

Slide 86

Slide 86 text

Benefits for everyone else in the team

Slide 87

Slide 87 text

Start conversations about accessibility within the company, encourages them to dig further. 6.

Slide 88

Slide 88 text

All of this is about communication to build better accessible products. You don’t need to / can’t document everything.

Slide 89

Slide 89 text

Resources

Slide 90

Slide 90 text

Don’t forget to explain the what AA, AAA means.

Slide 91

Slide 91 text

Where to find good examples of accessible components ๏ The ARIA Patterns: example of complex accessible components using ARIA ๏ Gov.uk design system is public and its components are supposed to be accessible, so it’s a nice place to check for inspiration ๏ Inclusive Components is a blog trying to be a pattern library. All about designing inclusive web interfaces, piece by piece. There is also the book Inclusive Components ๏ A Complete Guide To Accessible Front-End Components, a big article with tonnes on information to make your components more accessible

Slide 92

Slide 92 text

No content

Slide 93

Slide 93 text

No content

Slide 94

Slide 94 text

Some nice toolkits to help you document

Slide 95

Slide 95 text

Ressources and links ๏ Links in the slides ๏ Accessibility Annotation Examples from Karen Hawkins ๏ Color ratio Matrix tool ๏ Figma - Contrast Grid plugin ๏ WCAG for designers ๏ A11y - Focus Orderer — Plugin for Figma ๏ Fluent Accessibility Notation — Figma ๏ Include—Accessibility Annotations | Figma Community ๏ ARIA Example: One Main Landmark ๏ Reduced motion example on stephaniewalter.design ๏ A11y Annotation Kit — Figma ๏ Accessibility bluelines — Figma ๏ Accessibility Bluelines (Sketch, Adobe XD, Invision Studio) ๏ Authoring Tool Accessibility Guidelines (ATAG) 
 ๏ More links to help you build and document better accessible designs: ๏ Text Resizer - Accessibility Checker ๏ Firefox Accessibility Inspector ๏ Color accessibility: tools and resources to help you design inclusive products ๏ Inclusive Components ๏ browsing with a desktop screen reader ๏ browsing with a mobile screen reader ๏ browsing with a keyboard ๏ browsing with speech recognition ๏ How to document the screen reader user experience