Automating Accessibility: WordCamp Minneapolis 2015

20
Automating Accessibility Getting & Staying Accessible

Transcript of Automating Accessibility: WordCamp Minneapolis 2015

Page 1: Automating Accessibility: WordCamp Minneapolis 2015

Automating

Accessibility

Getting & Staying Accessible

Page 2: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Find these slides

These slides are posted at Slideshare:

http://www.slideshare.net/joedolson/automating

-accessibility-wordcamp-minneapolis-2015

Page 3: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

3 Rules of Automated Testing:

- Some issues can’t be tested automatically.

- Testing tools must test the DOM

- Test early, test often.

Page 4: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Automatically test all the things.

...But you won’t find everything.

Easily Testable:

1) <form>

Your Name:

<input type=’text’ name=’name’

id=’name’ value=’’ />

</form>

2) <img src=’src.jpg’ />

Not so testable:

1) Click on the red button:

<button>One</button> <button>Two</button>

2) <img src=’giraffe.jpg’ alt=’Lion’ />

Page 5: Automating Accessibility: WordCamp Minneapolis 2015

And guesswork isn’t gonna cut it.

Automated Tests

need to be right

Page 6: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Ya gotta test the DOM

- JavaScript changes the DOM

- These changes can fix or break accessibility

http://mothereffingtoolconfuser.com/

Page 7: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Accessibility is about content

If your theme is accessible, but your

content isn’t, then what’s the point?

Page 8: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Why do automatic testing, then?

- Automation eliminates obvious mistakes.

- Automation makes hands-on testing faster.

Page 9: Automating Accessibility: WordCamp Minneapolis 2015

Three Step

Process for

AccessibilityLet’s just get this done, right?

Page 10: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

1)Fully Automated Testing

- Needs to only return definite errors.

- Needs to test multiple pages at a time.

- Needs to tell you where you have issues,

and how to fix them.

Recommendation: Tenon.io

Page 11: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Tenon.io

- API driven Accessibility testing service

- Operates a headless browser to generate

the DOM before testing

- Integrates with WordPress using Access

Monitor http://wordpress.org/plugins/access-

monitor

Page 12: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

What does Tenon.io tell you?

Example:

http://tenon.io/testNow.php?url=http%3A%2F%

2Fwww.google.com

Page 13: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

2) Manual + Automation

- Returns both definite and possible issues*

- Tells you where the issue is and how to

verify whether it’s an error.

* By now, definite issues should be fixed.

Recommendation: WAVE Toolbar

Page 14: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

What does WAVE give you?

- A whole lot more detail…

- But no automation.

- Every page tested independently.

Page 15: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

3) Individual inspections

Tools:

- NVDA (open source screen reader)

- Chrome Accessibility Inspector (add-on)

- aViewer (open source API inspector)

Page 16: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Using Tenon with WordPress

Access Monitor

- Set up a schedule to monitor pages

- Run tests on single or batches of pages

- Test admin & front-end

- Filter out redundant results in batches.

Page 17: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Other Tenon integrations?

- Node https://www.npmjs.com/package/tenon-node

- Grunt https://www.npmjs.com/package/grunt-tenon

- Gulp https://www.npmjs.com/package/gulp-tenon-client

- Drupal https://www.drupal.org/project/tenon_io

- Visual Studio http://bit.ly/tenon-vsg

- Chrome http://bit.ly/chrome-tenon

- Firefox http://bit.ly/tenon-firefox

Page 18: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Limitations when testing software

- What do you need to test? The DOM

- What do you produce with themes and plug-

ins? CODE

- Need to run before you can test.

Page 19: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Demos

If I have time & internet access, I’ll demo

Access Monitor.

Page 20: Automating Accessibility: WordCamp Minneapolis 2015

Twitter: @joedolson

Hashtag: #wcmpls

Thank you!

Joseph Dolsonhttp://www.joedolson.com/

[email protected]

http://twitter.com/@joedolson