"i have done a couple bad things"


number of years i have lived on this earth
over 30

thricedotted
@thricedotted

windows narrator announce the FUCKING headings challenge


thricedotted
@thricedotted

so if you open this extremely barebones heading test page with the latest version of chrome (and who knows how many previous ones??) and attempt to navigate between items with Narrator+Left/Right Arrow, it Simply Will Not. in fact, moving between items with those shortcuts ignores anything with role="heading". which absolutely doesn't seem like intended behavior because no other screen readers skip over one of the most important items on the page and also IT WORKS IN FREAKING EDGE. which i thought was Basically Chrome but haha somebody's constructing the accessibility tree differently!!!

the headings are still read in scan mode. and you can navigate to them with h. guess what this still sucks.

narrator WILL announce headings in chrome IF you nest another child into that heading. no it can't just be a direct child like <h1><span>Blah</span></h1>, it has to be ~different~, like a whole extra child.

well a cool thing is that we can slap a pseudoelement on there and it counts. so h1::after { content: ' ' } plus some styles to hide that shit does the trick. i also discovered that content can't be a zero-width space because then Narrator focuses it without saying a damn thing and it interrupts the flow in a "did that keystroke even register" after every single heading sort of way.

so it's not a GREAT workaround (gfy if ::after was being used for anything else!!!) but hey the headings are being announced again! let's go make sure this works in VoiceOver on macOS — OH WAIT NOW VO ANNOUNCE EVERY HEADING AS HAVING "2 ITEMS" WHAT THE FUCK

and then you just go fuck it whatever and throw in some javascript for OS detection to only add your fake space that you should never have needed in the first place to headings on windows. and write a LOT of comments and sit back and wait for the code review, where you know people are going to have Questions, because honestly this is ridiculous and why should any of this be necessary.

was it worth even finding this workaround when it seems like the Narrator + Chrome combo is so fundamentally broken that i don't see how anybody could even be using it?????? i still need to dig around and see if a bug has been filed but this seems like P1 type shit?????? i'm pissed off and did what i could about it on our end but anyway that was my day lmao


You must log in to comment.

in reply to @thricedotted's post: