Update December 5, 2019:
As I am no longer part of the accessibility team and don’t follow closely what is happening in WordPress core any more, I’d like to add to following.
This post was about the state of WordPress end 2018. In the meantime other people have stepped up and there have been made improvements to the accessibility and there are efforts to change the workflow of a new release and of new features. If you want to know more about the current state of the accessibility of WordPress core, please contact the current WordPress Accessibility team.
Update October 12, 2018:
- Link to the test results in March ’18: Accessibility of Gutenberg, the state of play.
- Translation in German by Evi Silvia Leu
This post is written with the Gutenberg editor version 3.9.0.
Disclaimer: This post is my opinion and mine alone.
After several years of working on WordPress and accessibility and being part of the accessibility team, I have taken the very difficult decision to leave the WordPress accessibility team. I owe it to the team to explain why I have made this decision and how I hope things can improve for the future.
The last year, especially the last few weeks have been too politically complicated for me. It’s better that someone else takes the lead now.
In this post I’ll try to give an analysis of what the WordPress Accessibility Team (wpa11y team) did during the development of Gutenberg and what the problems are with working on its accessibility.
When the development of Gutenberg started, the wpa11y team followed its progress and tested what was there. And we discovered there is much to improve. So Andrea Fercia started to open tickets and tried to find solutions. And that was a huge task.
We had four big problems:
- The codebase of Gutenberg is difficult for all of us, because no one in the wpa11y team is a skilled React developer. So it was hard to implement changes and write PRs ourselves. What we could do is test, tell what’s wrong and what it should be and hope a developer would pick it up. A lot of a11y work has been done by the Gutenberg team but major issues still exist.
- There was no React developer with accessibility experience in the community, and no React accessibility experts from outside the community willing to work on the issues for free.
- Functionality that was tested, improved and then approved by Andrea, changed in a later stage, breaking the a11y improvements again. This had quite an impact on Andrea.
- New functionality was not keyboard tested before implementation (e.g. the date picker).
I used my network to try to get the accessibility experts, companies and developers that know React and accessibility involved. We did a test round in March this year, after asking to the Gutenberg lead when it was ready to do a full test. The results are with the test procedure and with the issues on GitHub.
A complete overview of the test results, with video demos are in the post:
Accessibility of Gutenberg, the state of play.
The results indicated so many accessibility issues that most testers refused to look at Gutenberg again.
Because we could not code all Gutenberg issues ourselves, I decided to help and educate the developers and designers.
Sami Keijonen and I started to extend and reorganise the WordPress Accessibility Handbook adding good practices and ways to test code, content and design. We did a lot of writing, so when filing a GitHub issue, the author can now point to a handbook URL to say: “this is how it’s done”.
We did research on automated testing. This is still a work in progress as it’s difficult to set up. I wrote a blogpost with my research in Automated accessibility testing during development on the Human Made website and I was gathering the troops to get this on a higher level.
Also, we started a series of dev talks about a11y on meetups and WordCamps.
One good thing to say about all of these Gutenberg preparations is that they increased the visibility of the accessibility team, and it is very good to see them finally getting recognition for their work.
Assistive Technology Manual
For users that depend on assistive technology (AT), like a screen reader or voice recognition software, the learning curve of Gutenberg is very high. If you don’t have a full view of the whole screen or are depending on keyboard focus to perform tasks, Gutenberg is hard to learn.
Claire Brotherton has started to write this manual and she needs AT expert help. See the GitHub issue Manual for users of assistive technology #10373.
5.0 is near
Now Gutenberg is close to release: how accessible is Gutenberg?
In Andrea’s words (and I agree):
“While the Gutenberg team has worked hard to implement some fundamental accessibility features (e.g. focus management, navigate landmark regions), the overall user experience is terribly complicated for users with accessibility needs at the point the new editor is barely usable for them.Andrea Fercia
The main reason for this lack of overall accessibility is in the overall Gutenberg design, where accessibility hasn’t been incorporated in the design process.
Feedback from accessibility users has been constantly evaluated and Gutenberg is actually a regression in terms of accessibility level, compared to the previous editor.”
What went wrong?
I got feedback this week that we should have written the GitHub issues differently. I was told we should have explained more why they are an issue, so that the developers are more motivated to solve them. Also I got feedback that some accessibility issues are too big, that we should have made them smaller.
It would have been great if this feedback had been added with the issues themselves in a timely way, as some issues are now more than a year old.
In hindsight, what I would have done differently:
- communicate more often and louder we needed a skilled Gutenberg/React developer way earlier in the process
- convince the developers that keyboard testing is a must
- support Andrea more when he asked for a second voice and for testing
- convince the AT testers to give it a go again
- invest more effort in recruiting accessibility experts and companies to help
Full time dev
I’m happy that there is now a dedicated developer from Automattic 100% on the accessibility issues. I wish Matthew MacPherson all the best, as he will need it. I hope the accessibility team will help him with everything he needs.
To Matt Mullenweg
To Matt Mullenweg I want to say: please take better care of your community, because WordPress is nothing without it. Cherish the people who dedicate their (own) time and who work very hard to make WordPress the best it can be. Don’t ignore or make fun of them, but talk to them, guide them, inform them. Don’t be disconnected from the community, be part of it.
It has been a privilege to work in the accessibility team. I cannot thank them all here. But there are a few people I want give a huge thanks to:
- Andrea Fercia, who works hard against the odds and often alone on the GitHub issues. I wish I could have provided you with more support for testing.
- Claire Brotherton, who does a lot of testing and started to write the manual for assistive technology. Claire, you are the unsung hero here, you did so much, and in your own time. You rock girl.
- Adrian Roselli, who flew several times from the US to WordCamp Europe and London, to help the accessibility team test and find solutions.
- Eric Wright, who made an excellent video on how difficult it is to use Gutenberg with Dragon NaturallySpeaking.
- Sami Keijonen, Jean-Baptiste Audras, Laken Hafner, Nic Bertino, Amanda Rush, Rachel Cherry, Chetan Prajapati and all the people in the #accessibility channel, for their contributions and discussions.
- Morten Rand-Hendriksen, for his help, support, networking, inspiration and time, and for letting me smoke all my cigarettes in his face at the after party in Belgrade.
I’m not leaving WordPress nor accessibility, and in fact maybe now I can actually work on accessibility again. I will keep giving talks and workshops. I also want to do research and work on tickets. But in my own pace.
I will join the a11y table if asked on contributor days, but maybe I’ll just go to a museum instead.
For Level Level, the company I now work for, I’m setting up workshops and trainings to teach web accessibility and good code practices. Also I will help the designers, content managers and developers of Level Level to become the best agency for accessible WordPress websites there is. Stuff I enjoy to do and that gives me positive energy.
I wish you all the best, and please reach out if you need my expertise or just want to have a chat or share a glass of wine.