Corporate Responsibility: Blazor and Accessibility Edition

Published: 2023-05-16

It sure would be nice if large corporations like Microsoft would produce documentation about their web framework Blazor that included 100% accessible examples and had nice big sections like "how to use this stuff accessibly". Instead they've announced the layoffs of over 10,000 employees this year so far.

To Microsoft's credit, just yesterday I submitted a suggestion for their documentation related to radio buttons and they responded immediately and changed it. However, they did not change the examples I didn't suggest fixes for, so some of the examples are still inaccessible.

Actually, my guess is that all of the examples are inaccessible, including the one I suggested a fix for. Because Blazor itself is not accessible by default. I'm not an expert, but as far as I can tell the only thing their native form components do when a form field is invalid is mark the input element with aria-invalid="true". When I tested my code that followed their examples using NVDA on an invalid form, the screenreader said nothing. It was like I didn't even try to submit the form. Seems like if the <ValidationSummary> component isn't going to follow the validation feedback practices recommended by W3C's WAI, then the docs should cover how to ensure the feedback is accessible.

It would be nice if a random web developer like me could count on <ValidationSummary> to automagically be accessible by default, perhaps by putting a role="alert" on the <ul class="validation-errors"> element that gets created from it. But in reading the guidance from WAI it's clear there is a one-size-fits-all solution. So fine. But at least have an example in the document that discusses calling the component as <ValidationSummary role="alert" aria-label="form validation errors"> to address the fact that this information won't otherwise be announced to screenreader users (note, the document for ValidationSummary doesn't mention any of this either).

Microsoft's shareholders can certainly afford to pay for some accessibility specialists who will certainly do a better job than I ever could at crafting documentation and examples (if not consulting on the framework itself) and while I was happy to submit one fix, I'm not volunteering to do all the fixes, especially since I am not an expert in this area. As it is, anyone out there using Blazor to make web sites (like I am), relying on Microsoft's documentation for how to do things, is walking into a minefield of potential ADA violations. For my part, I think Microsoft should be held accountable for each and every one of those violations as if they'd done it themselves. This is a company with a market capitalization of $2.32 trillion (with a T), annual revenues in the hundreds of billions (with a B), and that buys back billions of dollars of stock each year.

Final note: nothing I'm saying here is meant to disparage the employees on the Blazor team, especially those working specifically on accessibility (please let there be at least one!). I'm sure they are all overworked and underpaid, especially relative to multi-hundred-millionaire CEO Satya Nadella.