Specify 7 Accessibility Improvements

WCAG 2.1 compliance, screen reader and keyboard navigation support

I am very passionate about Web Accessibility. It makes worldwide information accessible to all, and turns the internet into a friendlier place for humans.

Accessibility is important not just for people with visible disabilities, but for every one of us. For example, adding keyboard navigation support, increasing the size of clickable elements, adding extra whitespace, increasing contrast, and adding touch-screen support are the kind of things that would benefit everyone.

Additionally, all accessibility improvements bring new features to regular users. For example, I am a big fan of using screen readers, not because I have to, but because I like to. I am often too lazy to read a long article, so I just let the screen reader do that for me.

For this and many other reasons, I put accessibility compliance as one of the top priorities when planning the next release of Specify 7 (a scientific collection management software).

The following accessibility improvements have been made:

Recording of a webinar on accessibility improvements in Specify 7

Showcase of Accessibility and Usability improvements in Specify 7

Presentation from iDigBio Digital Data Conference 2022

Video overview of accessibility improvements and other enhancements

Recording of a webinar on user preferences in Specify 7

Showcase of User Preferences in Specify 7

Screenshots

User Preferences menu
Accessible modal dialog
Accessible form (layout is user-defined)
Accessible form in a non-modal dialog
Query Builder accessibility refactor

Challenges

One of the most challenging parts of the accessibility refactor was the tree viewer. The tree viewer should look like a table to a sighted user but be announced as a tree to a screen reader user.

At the same time, every tree node should be expandable and selectable, and keyboard navigation must allow navigating not just between tree nodes, but also moving quickly to the toolbar in the header and back.

These issues were solved in the following ways

Accessible Tree Viewer
Accessible autocomplete

Online demo

You can try out the live version at sp7demofish.specifycloud.org. The username and password are sp7demofish. When prompted to select a collection, choose any option. See usage instructions in the video above.

Guided demo

A video recording of a zoom show-and-tell session is available. It covers new features in the Specify 7.7 release and describes accessibility enhancements.

An overview of all new features in Specify 7.7 release.

Accessibility statement

A statement of Specify's commitment to accessibility and details on the progress made is available as a Google Doc.

The accessibility statement describes that 100% WCAG 2.1 compliance is not going to be achievable because of inaccessible third-party libraries, but we can still make a lot of progress. A detailed list of remaining accessibility issues.

Technologies used

Things learned

Unlike my initial assumptions, there is no such thing as a fully accessible application. There are however a lot of small steps in order of increasing difficulty that can be taken to make an application more accessible.