Log Jams: Unblocking your Backlogs with Multi-dimensional Accessibility Audits

A presentation at An Event Apart: Front-End Focus in August 2020 in by Dave Rupert

Slide 1

Slide 1

Dave Rupert • @davatron5000

Slide 2

Slide 2

One day hundreds of JIRA tickets showed up in my inbox…

Slide 3

Slide 3

This triggered my fight or flight response.

Slide 4

Slide 4

Some simple math told me…

Slide 5

Slide 5

Slide 6

Slide 6

We had created a log jam.

Slide 7

Slide 7

Slide 8

Slide 8

Slide 9

Slide 9

The Theory of Constraints Inventory Operational Expense Throughput

Slide 10

Slide 10

The Theory of Constraints

Slide 11

Slide 11

The Theory of Constraints

Slide 12

Slide 12

The Theory of Constraints Inventory Operational Expense Throughput

Slide 13

Slide 13

A Bug’s Life Bug exists Bug discovered Backlog triage Work performed Bug fixed

Slide 14

Slide 14

Slide 15

Slide 15

We needed to undo our backlog jam.

Slide 16

Slide 16

How do you eat the proverbial elephant?

Slide 17

Slide 17

Conventional wisdom: One bite at a time.

Slide 18

Slide 18

My perspective: Find the most delicious and easiest to eat parts first.

Slide 19

Slide 19

Understanding how accessibility audits are performed

Slide 20

Slide 20

Often done screen by screen, button by button, requirement by requirement, browser by browser, platform by platform

Slide 21

Slide 21

Often focused on the output and ignorant of the input input output

Slide 22

Slide 22

Often focused on the output and ignorant of the input input output

Slide 23

Slide 23

Often very repetitive due to how we reuse our code

Slide 24

Slide 24

Often ignorant of “easy” vs “hard” in the underlying systems production database high effort static site low effort

Slide 25

Slide 25

Often ignorant of metrics and relative importance of the page 1,000,000 views high impact 5,000 views low impact

Slide 26

Slide 26

e.g. alt text is missing production database 1,000,000 views weeks to fix static site 5,000 views minutes to fix

Slide 27

Slide 27

How do you eat the proverbial elephant?

Slide 28

Slide 28

We were struggling with digestive issues.

Slide 29

Slide 29

Slide 30

Slide 30

Hitting the limitations of JIRA

Slide 31

Slide 31

It was easier to triage in Excel ID Summary Priority PROJ-123 Missing alt attribute on page HIGH PROJ-124 Focus not visible on hamburger menu HIGH PROJ-125 Page is missing alt attribute MED PROJ-126 Missing 3:1 contrast on search LOW PROJ-127 Focus not visible on checkout MED

Slide 32

Slide 32

Which page is effected? ID Summary Page Priority PROJ-123 Missing alt attribute on page /about HIGH PROJ-124 Focus not visible on hamburger menu All HIGH PROJ-125 Page is missing alt attribute /features MED PROJ-126 Missing 3:1 contrast on search All LOW PROJ-127 Focus not visible on checkout /checkout MED

Slide 33

Slide 33

Which component is effected? ID Summary Page Component Priority PROJ-123 Missing alt attribute on page /about Image HIGH PROJ-124 Focus not visible on hamburger menu All Header HIGH PROJ-125 Page is missing alt attribute /features Image MED PROJ-126 Missing 3:1 contrast on search All Header, Forms LOW PROJ-127 Focus not visible on checkout /checkout Forms MED

Slide 34

Slide 34

Which WCAG violation? ID Summary Page Component WCAG Violation Priority PROJ-123 Missing alt attribute on page /about Image Non-text content HIGH PROJ-124 Focus not visible on hamburger menu All Header Focus visible HIGH PROJ-125 Page is missing alt attribute /features Image Non-text content MED PROJ-126 Missing 3:1 contrast on search All Header, Forms Non-text contrast LOW PROJ-127 Focus not visible on checkout /checkout forms Focus visible MED

Slide 35

Slide 35

New dimensions appear! ID Summary Page Component WCAG Violation Priority PROJ-123 Missing alt attribute on page /about Image Non-text content HIGH PROJ-124 Focus not visible on hamburger menu All Header Focus visible HIGH PROJ-125 Page is missing alt attribute /features Image Non-text content MED PROJ-126 Missing 3:1 contrast on search All Header, Forms Non-text contrast LOW PROJ-127 Focus not visible on checkout /checkout Forms Focus visible MED 5 4 3 3 …But we can only really visualize one dimension at a time.

Slide 36

Slide 36

Can we leverage modern spreadsheeting applications? notion.so airtable.com

Slide 37

Slide 37

Maybe we could experience multiple dimensions at once

Slide 38

Slide 38

How-to create a multi-dimensional accessibility audit.

Slide 39

Slide 39

The WP Campus Gutenberg Audit

Slide 40

Slide 40

Step 1. Import data

Slide 41

Slide 41

Slide 42

Slide 42

Slide 43

Slide 43

Step 2. Hide columns

Slide 44

Slide 44

Slide 45

Slide 45

Step 3. Convert columns to selects and multi-selects

Slide 46

Slide 46

Slide 47

Slide 47

Step 4. Color code

Slide 48

Slide 48

Slide 49

Slide 49

Step 5. Add Counts

Slide 50

Slide 50

Slide 51

Slide 51

Step 6. Add dimensions

Slide 52

Slide 52

Slide 53

Slide 53

Wrapping up our multi-dimensional accessibility audit

Slide 54

Slide 54

Slide 55

Slide 55

Slide 56

Slide 56

38cols → 10cols Before After

Slide 57

Slide 57

How’d it work out for us? No repro 50 Contrast Promo code form 19 15 Remove icon Fix accordion Design system reconciliation 171 15 9 5 Fix duplicate ID alt attributes 5 12 12 142 of 313 issues closed (46%) in ~2.5 months with part-time capacity Other TODO

Slide 58

Slide 58

Some thoughts on improving workplace satisfaction via the backlog process

Slide 59

Slide 59

“Individuals and interactions over process and tools” — The Agile Manifesto

Slide 60

Slide 60

Slide 61

Slide 61

Slide 62

Slide 62

Tip #1: Avoid extensive audits, start with a few core templates first.

Slide 63

Slide 63

Slide 64

Slide 64

Tip #2: Deliver issues in small packs of related issues.

Slide 65

Slide 65

Slide 66

Slide 66

Modals Header Fix contrast (static site) Fix contrast (production database) Fix alt attributes Fix focus states Resize Text

Slide 67

Slide 67

Slide 68

Slide 68

Tip #3: Gamify the experience, progressively increase the difficulty

Slide 69

Slide 69

WORLD 1-1 Fix alt attributes WORLD 2-3 WORLD 4-1 Fix contrast Fix focus states

Slide 70

Slide 70

Tip #4: Give a s#!% about accessibility before legal shows up.

Slide 71

Slide 71

Slide 72

Slide 72

A quick thanks to… Danh Hoang @danhhoang Christopher Schmitt @teleject

Slide 73

Slide 73

Dave Rupert @davatron5000