Watch the talk: https://youtu.be/baR9OvL4g7w (F2E Summit 2015)
Use the creation of a dialog to demonstrate a number of core accessibility principles like
- keyboard accessibility
- focus management
- ARIA roles
- ARIA properties
The choice of a dialog for this example is due to the way in which this involves a number of user experience concerns not often considered by developers.
- Create .bowerrc file
- Create .editorconfig file
- Create .gitattributes file
- Create .gitignore file
- Create .jshintrc file
- Create bower.json file
- Create package.json file
- Create Gruntfile
Run npm install && bower install
- Create Web Page, CSS, and Script for the base of the demo.
- Create our dialog object with an open method and a close method
- Create the functionality to append the overlay, open the dialog, and close the dialog
- Add ability to open the dialog from the # Button
- Shift focus to the new dialog
- Allow dialog to close from escape key
- add accessible keydown on # button
- add a Close button; make close button do the close business
- Add role(s) and labels
- Close button
- Dialog
- Change focus to 1st focusable item (the close button)
- Explicitly set next logical element for focus
- Hide all the things