Accessibility Note

This presentation uses an out-of-the box HTML slideshow script which by itself is unaccessible. Keybindings exist to traverse forward and backward with arrow keys, but focus never shifts as the slides advance. The slides themselves are well structured, so you can use a read all command to listen to everything linearly. I've also added a live region which should work well for screen readers that support live regions. As you traverse through the slides using arrow keys, the slide's content will be added to the live region. If all else fails, you can also access the slideshow content by turning off CSS and JavaScript.

Extreme Accessibility

With Karl Groves,

Launch Full Screen

Extreme Accessibility

With Karl Groves,

How much does it cost to fix a bug?

How much does it cost to fix a bug?

At first, the cost of fixing a bug at the requirements stage is nominal, when everything is on the drawing board. But as the software moves along in its life cycle the cost of fixing a bug increases radically. We start at 1 times when we are at the initial development stage when a bug is no more than a change in notion. But at the design stage, the relative cost is 5 times what it was compared to the requirements stage, and then ten times what it was when it becomes code and on this goes until it the relative cost of a bug fix is 150 times what it was originally. Source

How much does it cost to fix a bug?

However, it was the hidden costs that drained us of life: hours lost arguing about bugs in bug triage meetings; hours lost stumbling over the same known issues again and again; hours lost fighting with a fragile and error-prone code base to make even small changes; hours lost cataloging and categorizing the backlog. It was demoralizing and immensely expensive. Source

How much does it cost you to fix a bug?

Num. Step Time Cost Running Total
Total $265
1 QA tests, finds, and opens a bug 1.0 $60 $60
2 QA/ Dev manager assigns the bug .25 $15 $75
3 Developer reviews the bug .25 $16.25 $91.25
4 Developer verifies the bug .50 $32.5 $123.75
5 Developer fixes the bug 1 $65 $188.75
6 Developer assigns the bug back to QA .25 $16.25 $205
7 QA retests the bug .75 $45 $250
8 QA confirms bug is fixed .25 $15 $265

The old & busted approach

Mmmmm Cookies

Picture of cookies. One traditional chocolate chip cookie. One with the chips placed on top. A metaphor for the idea of baking accessibility in vs. adding it later.

Extreme Programming

Core goal of XP: Introduce a number of basic values, principles and practices to improve quality. The "Extreme" in extreme programming is the way it takes development best practices to the extreme.

Code review? Why not pair programming?

Acceptance Testing? Why not automate it?

Short release cycles? Why not continuous integration?

4 basic activities of XP


The only truly important product of the system development process is code

(sorry UXers)

4 basic activities of XP


If a little testing can eliminate a few flaws, a lot of testing can eliminate many more flaws.

4 basic activities of XP


Developers must listen to what the customers need the system to do

4 basic activities of XP


Good design is critical especially as the product grows. Unwieldy design exacerbates quality/ UX/ a11y shortcomings.

(we good, UXers?)

Why not Extreme Accessibility?

Define requirements from the perspective of the user

(Gherkin all the things)

Write a11y-specific unit tests

Like these

Write a11y-specific acceptance tests

Or, provide a11y-specific steps in acceptance tests

Hint: both of these can be driven from Gherkin language

Pair programming (preferred) or code review

Pair programming increases software quality without impacting time to deliver.

Iterate on small pieces of work often

This is critical to getting valuable feedback in time to have an impact on the system's development.

When bugs are found, tests are written

Programmers have a failed test to focus their efforts and know when the problem is fixed.

Continuous Integration

Continuous integration avoids or detects compatibility problems early

Collective Ownership

Whether you realize it or not your design is already distributed among your team

Integrate testing tools in all aspects of development

Unified criteria & tooling


You don't have accessibility problems, you have quality problems.

A lack of quality-oriented development practices elsewhere is your first warning sign that you will fail in accessibility

Your challenge(s), should you choose to accept it them:

Get out of the a11y silo.

Stop treating a11y as a separate concern.

Start approaching a11y as a quality domain.

Contact Me

Karl Groves

+1 443-875-7343