misc. notes audiences: - contrib modules - core contributions tools: - simpletest - example module - manual walk through checklist - automated toolsets (fae, webaim, etc) cases (by guideline) Meet W3C WCAG 2.0 Level AA Meet W3C ATAG 2.0 All form fields must have a non-empty #title (and using #title_display can control whether it is on-screen or off-screen) ARIA markup must be included when Javascript/AJAX alters the page with new information Javascript, jQuery, and AJAX should be keyboard-accessible ========================================== simpletest in core (patch bot) ========================================== Test Cases -- add AccessibleDrupalWebTestCase in simpletest module that extends DrupalWebTestCase (or a add functions to base DrupalWebTestCase class) ---- add assertAccessibleForm($html or $form_data) function to test a form. Could take rendered html, form_id and form_state data. ---- add assertAccessibleHTMLDoc($html or $url) function to test an entire web page. ---- add assertAccessibleHTMLFragment($html) function to test an html element and its children. Example Uses ---- add calls to assertAccessibleForm() in tests for all modules that generate forms such as user/user.test. Could be called when building forms for other tests so setup and breeakdown methods are not needed. ---- similarly, call assertAccessibleHTMLDoc() whenever a curl is requesting an entire page. html data is already there. just need to test it. ========================================== examples module (developers) ========================================== form_example -- add accessibility test to form_example/form_example.test -- look over example forms and submit patches to make accessible. ajax_example -- look over accessibility and aria uses field_example -- make sure field widget is accessible vertical tabs example -- check for accessibility of vertical tabs. look at aria potential ========================================== hand testing (developers) ==========================================