Testing For Compliance
Testing for Compliance:
Where to Begin?
Slides available at https://tinyurl.com/CWD-accessibility
Phil Williammee - psw58@cornell.edu
Accountability for Testing
Testing Should Be an Integral Part of the Development Life Cycle
- WCAG 2.0 Level A and AA
https://www.w3.org/TR/WCAG20/ - Testing for accessibility must be taken seriously throughout all of the major stages of the development process
- Do testing early on in order to avoid mistakes
When to Test?
- The Planning and Design Phase - notes on color choices, alternative text for images, link text, visual focus colors, user interactions and keyboard functionality, etc.
- The Build/Creation Phase - Automated and Manual Testing
- The Testing Phase - A process to validate accessibility requirements, any findings should be reported in detail.
Checklists
Considerations:
- Your checklist should be based on your role and scope.
- How could your work affect accessibility on your site?
Full checklist:
Checklists Considerations for Content Editors
- Semantics and Structure (Headings, lists, menus, forms, etc.)
- Readability (Order)
- Images (Alt attributes)
- Tables (Data tables, layout tables)
Checklists Considerations for Developers
- Keyboard and Touchscreen Navigation (Focus, Order, Keyboard Only)
- Semantics and Structure (Structure, information, and relationships)
- Form labels
- Form Errors (Descriptions, submission, user Input)
- Custom Controls (Names, and Roles...Native HTML?)
- Context Changes (Notify users of Context change)
- Timing (Scrolling, moving, blinking, dynamic or auto-updating content...Slideshows)
Checklists Considerations for Designers
- Page Title
- Headings
- Navigation (Skip links, Reading Order)
- Links (Link text, and color contrast)
- Color/Contrast
- Images (Informative, decorative, images of text, logos)
- Visibility
- Order and location
WA Site Tester - Full Site Checklist
https://webaim.org/standards/wcag/checklist or CWD-Checklist
The Tester should have their site registered in SiteImprove, a full-featured web accessibility management service, available to all Cornell faculty and staff.
https://it.cornell.edu/siteimprove
Testing Scope
Define the Scope of Testing
- Are a few pages going to be evaluated, or an entire web application?
- Will the evaluation stick to informational content or will it also cover Forms?
- Which pages are going to be evaluated?
- How can the best pages be selected to get the most out of the evaluation process?
Considerations and Prioritization for Defining the Scope.
Will the project effect:
- Templates
- Navigational menus.
- Payment Forms, Legal Contract, such as Forms.
- Images, Forms, Tables, Frames, Interface Elements relying on client-side scripting, and Media.
- Anything that gets a lot of traffic.
Testing Routine
A testing methodology is require to achieve a consistent process and consistent results.
Your team should have an agreed upon testing process, similar to the one outlined below.
Testing Routine - Process
- Determine the Scope for Testing
- Conduct testing - Evaluation
- Automated Tests
- SiteImprove
- Wave
- Color Contrast Checker
- Manual Tests
- Input: Keyboard
- Visual Presentation
- Alternative Text
- Audio and Video
- Semantics and Document Structure
- Forms
- Dynamic Content
- Custom Widgets
- Automated Tests
- Document All Findings in an Accessibility Report Format
- Plan for Remediation
- Conduct Regression Testing
Conduct Testing
About a third of accessibility problems can be found through automated testing.
Never consider automated testing to be sufficient to find all accessibility problems in a page or application.
Automated Tools
- Siteimprove and Siteimprove Chrome Plugin (Automated)
- WAVE for FF and Chrome Color Contrast Analyzer Chrome plugin
- Colorzilla
- Web Developer
- Color Contrast Analyzer Plugin
Testing Demo
Overview - https://www.ww3.org/WAI/demos/bad/
Bad - https://www.w3.org/WAI/demos/bad/before/home.html
Fixed - https://www.w3.org/WAI/demos/bad/after/home.html
Content Entry - http://blogs.cornell.edu/psw58/
Manual Testing - Keyboard Accessibility
- Tab Focus ability and order
- Keyboard Functionality (with and without screen reader)
- Visual Focus Indicator
- Effective focus managements (forms, dialogs, dynamic content)
- Keyboard Traps
Manual Testing - Other
- Test for Meaning Conveyed with Color
- Test Alt Text Quality
- Test Video/Audio Accessibility
- Test for Landmarks
- Test Link Text Quality
- Test Form Labels and Instructions
- Test Form Validation
- Testing Custom Widgets
Bugs/Issues Management
Testers are expected to report the nature of each accessibility issue found, recommendations for fixing the issue, and the impact it has on users.
These issues should be recorded in a report.
Writing Effective Accessibility Bug Tickets
In order for issues to be remediated, reports that are filed need to be well written. This is especially critical for accessibility issues.
Vendors or developers should be able to understand the issues described in the report, even if they are unfamiliar with your Site.
Bug Report
Your Bug Report Should Include:
- Descriptive Title
- Description of Issues
- Expected Results
- Platform and AT
- Impact/Severity
- Steps to Reproduce
- Visual or Video
- Remediation
Regression Testing
- After issues have been fixed, regression testing and monitoring should be conducted.
- Common methods of regression testing include rerunning previously run tests
Summary
Testing for accessibility is valuable in ensuring that users with disabilities can effectively use your websites.
- Accessibility testing plays a key part throughout the entire development life cycle:
- Tests should be written during the planning phase based on accessibility requirements.
- Developers should conduct automated tests, keyboard accessibility tests, and screen reader testing of custom widgets during the build/creation phase.
- Comprehensive manual testing and QA should be performed to identify accessibility issues missed during the previous phases of development.
- Everyone has a role in creating accessible web content.
- A methodology should be established established in order for the testing process to be effective, such as:
- Define the scope of the evaluation
- Conduct automated tests and manual tests
- Document all findings in a detailed report
- Plan for remediation based on findings from tests>
- Conduct regression testing to evaluate fixes
- Automated testing can be used to quickly identify issues.
- Manual testing needs to be conducted to validate automated tests and to discover issues that automated tests cannot identify.
- Bug Reports for accessibility issues need to be composed in a format that allows designers, developers, and other stakeholders to successfully address accessibility issues.
- Issues should be prioritized based on factors like business value, risk, visibility of issues, and severity of issues.
- Regression testing and monitoring should be conducted to identify issues that may emerge from previous remediation efforts.
https://it.cornell.edu/accessibility
https://www.w3.org/WAI/standards-guidelines/wcag/
Join the discussion at: https://www.yammer.com/cornell.edu/#/threads/inGroup?type=in_group&feedId=15523147&view=all