IBM is embarking on a new era of open source accessibility by releasing tooling, samples and design patterns to help streamline the development of inclusive web and mobile applications.
IBM has released two new projects on the developerWorks/open community, AccProbe and Va11yS, to help alleviate accessibility roadblocks during the agile development process, strengthen the user experience by adhering to industry standards, and reduce costs by ensuring accessibility is done right from the beginning.
According to Black Duck Software’s Future of Open Source Survey 2015, “78 percent of companies run on open source and 88 percent say that they plan to contribute more to open source over the next few years.”
As open source tooling and contributions continue to grow, IBM Accessibility Research is making accessibility more available, easier to deploy, and an integral part of the ecosystem of open technologies. IBM has been contributing accessible open source tools since the early 2000s. In 2005, IBM contributed code to the Mozilla Foundation to ensure the Firefox browser could render accessible rich internet applications (ARIA).
Inspecting and Correcting Accessibility Violations
To help identify and fix accessibility issues during development, IBM released AccProbe, which combines the functionality of numerous accessibility inspection and event management tools into one application to test and correct accessibility violations in rich client applications.
AccProbe is a standalone, Eclipse Rich Client Platform application that provides access to the Microsoft Active Accessibility (MSAA) and IAccessible2 APIs implemented in an application or rendered document, and to the user interface of that application or document. Accessibility APIs, such as IAccessible2, are implemented by browsers or user agents to communicate accessibility information about objects on the screen to assistive technologies, such as screen readers.
AccProbe is unique in that it helps speed and scale the development of accessible rich client applications that implement MSAA and IAccessible2 APIs so users can test and correct violations without requiring the use of screen readers. It also adheres to the standards outlined in the IAccessible2 specification and the W3C Core Accessibility API Mappings ensuring that any application will meet these requirements.
AccProbe also provides:
- Event monitoring, such as when the focus changes on a screen and someone tabs to a new area.
- Inspection of software applications ensuring the implementation of new interoperability APIs, which align to the requirements outlined in the U.S. Section 508 ICT Refresh.
- Verification that textual information is provided through operating system APIs and that forms be accessible for assistive technologies allowing them access to field elements and the ability to submit the form.
- Support for 32-bit and 64-bit software applications.
Plug and Play Accessibility Code Samples and Design Patterns
To help designers, developers, and testers better understand how to implement accessible user interfaces, especially when used with assistive technologies, IBM has created Va11yS (Verified Accessibility Samples), an extensive repository of working code samples. Many of the samples leverage code snippets found in the Techniques for Web Content Accessibility Guidelines (WCAG) 2.0, which demonstrate techniques for HTML5, CSS and WAI-ARIA.
Va11yS is a one-stop shop for working code samples that can be reviewed and easily implemented in solutions allowing for quick adoption of accessibility requirements. IBM has created approximately 200 samples and continues to add to this repository on a weekly basis.
Va11yS samples were developed to help test new tools, experiment with assistive technologies, and even teach the basics of accessibility in other programming languages.
Each code sample lists test results outlining the platform, browser, and assistive technology used for testing to help identify bugs and give developers and testers a reference point in their own testing. Va11yS also invites contributors to easily drop in a new code samples, modify an existing one, or even add their findings to the test results.
- ARIA 18 – Example 1: Using aria-alertdialog to Identify Errors will demonstrate how to properly implement aria-alertdialog and how the resulting code will respond for a screen reader user.
- H2: Example 1: Combining adjacent image and test links for the same resource shows developers the proper way to code adjacent image and text links, and offer an easy resource to understand how a screen reader responds to this technique.
Va11yS has the ability to become the largest, single point of accessible samples covering a multitude of languages, libraries, and frameworks, such as HTML, CSS, WAI-ARIA, Angular, React, Swift, and much more.
Inclusive Design and Development
Designing and developing with accessibility in mind ensures an application is usable by the widest possible audience and inclusive to everyone. By donating IBM’s best practices in accessibility to the open community, we can correct usability issues early in development and deliver an optimized human experience for everyone.
For more information:
- Read “Prepare for the 508 Refresh and Speed Development of Accessible ICT“
- Read “Va11yS Accessibility Checklist Future
Moe Kraft — Maureen (Moe) Kraft is a technical consultant and transformation lead for IBM Accessibility where she provides education, training and software development techniques to ensure IBM’s assets and products are accessible to people with disabilities and direction on how to incorporate accessibility into the continuous delivery development model. She is an active member of the W3C WCAG, Boston a11y group and recently began teaching programming to middle and high school girls as a member of Girls Who Code.
This blog originally appeared at Age&Ability from IBM Accessibility