Wilco Fiers
Deque Systems
Auto-WCAG Chair
Deque rep in EUs WADEX-group
ACT Taskforce facilitator
A developer's story
The dev cycle
Software testing
Demo
Axe-core
Editors (IDEs)
Installation tools
Version control
Command line
Build tools
Test tools
No I'm not hacking your WiFi
It's just Windows or OSx
But you type instead of clicking
Example: GIT
Record keeping
Branching
Example: NPM
Packaging
Dependencies
Distribution
Example: Grunt
Compile CSS or JavaScript
Concatenate and minify files
Command line tools
Browser tools
Jenkins
Travis CI
SonarQube
Like my grandma used to do
Time consuming
Costly
Dedicated test teams
All the cool kids do it
Very fast, runs in minutes
Written by developers
50% Unit testing
25% Integration testing
15% Functional testing
10% Manual testing
50% Accessibility test tools
25% Custom AX tests
15% QA testing
10% Expert testing
What's the favorite tool of vikings and lumberjacks?
Test individual bits of code
// Test the addNumbers function
it('should adds 3 numbers together', () => {
let result = addNumbers(1, 2, 3);
expect(result).toBe(6);
});
Test how components work together:
// Message an iframe
it('receives messages send from an iframe', () => {
receiveMessage((msg) =>
expect(msg).toBe('foo'));
$('#iframe').contextWindow
.sendMessage('foo');
});
Test high level functionality
// Test we get back the right page
it('returns the homepage from /home', () => {
browser.url('http://localhost/home');
expect(browser.getTitle())
.toContain('Homepage');
});
it('passes axe rules', (done) => {
let elm = React.createElement(MyComponent)
let reactNode = mountToDoc(elm)
axe.run(reactNode.getDOMNode(), result => {
assert.lengthOf(result.violations, 0)
done()
})
})
Open Source
Runs on the DOM
Understands your CSS
Automated accessibility testing must
Have zero false positives
Be lightweight and fast
Work in all modern browsers
Be tested automatically itself
Plugins for browsers
Embedded in your HTML code
In many test runners
Axe integrates with many test runners
Jasmine
Mocha
Phantomjs
QUnit
Selenium
JUnit (Java)
WebdriverJS
Grunt
Cucumber
... and I'll stop there
Knock knock.
A day in the life or me.
Let's do some coding!
Programming isn't magic
AX testing is the same as other types of testing
ARIA makes automated tests easier
Automated Test Tools help