Jason Knight
3 min readSep 12, 2022

--

Your "example from the real product" is a poster child for what I'm talking about. Particularly the aria-role BS pissing away code for ZERO improvement. If anything you're making it worse by setting role="grid" on a table containing tabular data. Hurr-durrz. Or tabindex="-1" on elements that are non-focuasable in the first blasted place! Zero clue what the blazes you think you need all those indexes for though I would suspect that's a flaw in your scripting or how you're handling sorting. Lemme guess, the paranoid whackjob malarkey of "don't store or operate on the DOM" that actually makes render slower?

I mean Christmas on a cracker, you do realize how utterly dumbass <tr role="row"> is, right? What's next? <button role="button'> and <form role="form">? Which I've seen people do.

Much less the complete lack of scope and garbage data (name being separate instead of single lield last > first) so of course screen readers are choking on it. Aria doesn't fix that.

You say you're testing it on screen readers, I can think of only one where any of this code bloat trash would show benefit, and that's the steaming dung-heap that are crApple products. Something people with disabilities will tell you are broken trash.

I know my braille reader sure as the hell wouldn't like it.

I would suggest replacing the BS aria role on your THEAD TH with scope="col", Figure out what in the rows is the heading for the rows and make those <th scope="row">, and then delete every single blasted stupid "attribute for nothing" in that code. Boom, accessible. If it's not, you've done something wrong!

This is exactly how you ended up with 80k of markup doing 8 to 10k's job! Then you sit aroudn wondering why attempts to work with the "DOM" are slow. When in point of fact I'd not be surprised if what you think is working with the DOM... well... isn't.

You shouldn't be seeing slowdowns until you get up into the thousands of records, at which point why in the **** would you send thousands of records client-side for sorting? You'd waste so much bandwidth and server time on sending data client side the user will likely never even look at, you'd be better off putting your efforts into pagination and search, NOTclient-side sorting and DOM manipulating games.

That final link illustrates how many "market leaders" actually just flap their arse cheeks in the wind. Proof positive that "popular" doesn't mean "competent" or even "good". Quite the opposite in fact. The sheer ignorance, incompetence, and ineptitude of everything on that page is exactly the type of bullshit I've spent the past 12 years ripping out of websites and applications for clients.

That said page even has the balls ot use the word "accessibility" on it should be criminal with their aria role bullshit slathered on endless pointless idiotic nested DIV. /FAIL/ at the most basic usage of HTML. Their "Grid optimized for accessibility" BULLSHIT -- 100% grade A farm fresh manure -- is a poster child for how the people who make "frameworks" and dive for the "JS for nothing" typically do not know enough HTML, CSS, or JavaScript to be telling others how to use web technologies. No wonder with a measly 12 records it's a performance nightmare and accessibility trash...

Again on a website that if it was used for medical, utilities, gov't, or as part of a workforce's use would be dragged into court for ADA/EQA/ACA violations. Admittedly I've spent the past 12-14 years as an accessibility consultant, so I'm a bit sensitive to when people peddle bald faced lies as "accessible".

And why I laugh at the mere notion of SPA only contnet being "accessible" -- you've already crossed that line.

"Market leaders"... yup. White collar criminals at their finest. As Ashley would say...

If I have the time later I might take the time to create a workalike of that "market leaders" demo to show just what broken stupid crap it is. FFS their right-click intercept ALONE tells users to go F*** themselves.

It all comes back to what I’ve been saying for two decades now. If people would stop blowing 100k of HTML on 16k’s job, 500k of CSS in a half dozen files when no legitimate website or app should need more than 48k in two files (not counting CDN webfonts), and megabytes of JavaScript in dozens of files on pages that might not even warrant scripting’s presence, and if it does maybe 48k of the stuff maybe— just MAYBE — developers wouldn’t be hoodwinked, bamboozled, and otherwise suckered by these types of bloated, slow, predatory scam-artist “solutions” like frameworks, aria, etc. etm.

--

--

Jason Knight
Jason Knight

Written by Jason Knight

Accessibility and Efficiency Consultant, Web Developer, Musician, and just general pain in the arse

Responses (1)