They're not supposed to work the same in every browser. The user is supposed to be able to choose software that works how they want/suits their needs. You follow the standards and the user selects software that interprets those standards in their preferred way.
They definitely should. However, those will be large investments, so at least JAWS and VoiceOver are going to be waiting for WCAG 3.0 before tackling that. NVDA is open source, so I guess you could help them out with it. ;-)
The larger issue is that developing software for multiple platforms and multiple browsers and multiple different types of human interface devices (from eye tracking to sip-and-puff joysticks) from dozens of vendors is an extremely complex affair.
Users may even employ multiple different screen readers in different contexts to work around incompatibilities.
The point is that it's not really my (or other web developers) their responsibility that some 3rd party tool is garbage. It's like designing your whole website around some esoteric browser's behavior that less than 1% of your users use.
Sure, sure, we need to accommodate people with disabilities. First step to get there is to make sure the accessibility software isn't trash.
I get where you’re coming from, but this garbage is not optional everywhere around the world. Not in the US, even less in the EU.
The Americans with Disabilities Act (ADA) and Section 508 of the Rehabilitation Act. The ADA, specifically Title III, applies to public accommodations (including websites), requiring them to be accessible. Section 508 mandates that federal agencies ensure their electronic and information technology, including websites, is accessible to people with disabilities.
The EU Web Accessibility Directive and the European Accessibility Act (EAA) are key pieces of legislation aimed at improving digital accessibility for people with disabilities within the European Union. The Directive focuses on public sector websites and mobile applications, while the EAA expands accessibility requirements to a wider range of products and services, including those in e-commerce, banking, and travel.
The ADA is very good legislation and something I'm very thankful for as someone who is completely able-bodied. The reality is private entities won't do jack shit unless you force their hand and threaten them. It sucks it's that way, but that's the reality we have to acknowledge.
And, I benefit greatly from accommodations around accessibility. Both in the physical world and online.
Great, so force the hand of the screen reader makers to do a better job, or force the makers of browsers to integrate them properly, instead of burdening everyone else by piling workaround upon workaround.
So either fix it by changing the legislation, or fix it by changing the FOSS software... or do the only thing you can actually do right now which is implement websites in a way that's most likely to consistently work well with existing a11y solutions.
You can implement your websites with accessibility in mind while also acknowledging its ridiculous how every web developer has to spend time on that because screen readers are terrible, and responsibility somehow got shifted to every web developer ever instead of the handful of companies making screen readers.
I don't loop within loops, I free memory after I allocate it, and I add aria tags to html elements. I don't really see the big deal, just seems like a normal part of the job.
If you just do stuff without reflecting on why it's necessary that's... odd. Two of these examples have actual reasons on why they're necessary, the third is because screenreaders are crap.
I'm not trying to be difficult, but how is it any different than matching what an HTML parser (such as a web browser) expects by making sure you close your tags?
Excellent example because web browsers will render most documents just fine if you don't close your tags. Because they care about being compatible with websites that aren't perfect, and they consider it their job to render all websites that exist. Instead screen readers expect you to change your website instead of working with what's already there.
After a couple decades of relying on pragmatic hacks and loose conventions while hoping developers would start to take accessibility standards seriously, most just seemed to give up hope and concentrate on making software blind people can actually use. And that happened, like, a decade ago.