WCAG-Brute-Force

GitHub package.json dynamic GitHub package.json dynamic jQuery Gulp Cheerio Cheerio

Brute force WCAG AA patching to pass wave tool tests. Updated: March 17 2026 more updates as I recognize opportunities.

Overview

This is a file I (tim hunold) am making using CSS and jQuery 3.7.1 :poop: (plus vanilla JS) to help patch a site quickly for the purpose of attempting 508 WCAG AA compliance triage. It is unlikely to fix everything, but it can help a ton. As I age, my eyesight is starting to let me know that I am doing this for future me as much as everyone else out there.

Please let me know if you’d like to contribute to this repo, this is based mainly on what I currently deal with.

Directions

You can directly link the JavaScript files to your pages, it’ll do a lot, but make sure you review them to make sure you are not adding things you don’t need. Same for the CSS reset of sorts. Copy-paste as needed is the best way. If you have a static site you want to update en masse, try using the Gulp task. It’ll scour your HTML files, and using jQuery, it will rewrite things in the DOM directly and then spit them out.

WCAG Considerations

Indemnification

I make no warranty that this will fix everything, but there is a lot it can help with.

My Live Demos

WCAG CSS reset | Brute-force JS patcher | TOC Creator from Headings | Style Switcher

CSS

In CSS I am adding a lot of generic, obvious things, there are comments to what a line is and does, and I use plenty of advanced selectors and pseudo classes. I don’t always provide the actual use samples, but you should be able to understand from the comments.

What it does

We define and leverage root and simple variables. Also, there are font-handling methods that are often overlooked. It also calls out that links need to have underlines unless they get a visually dominant treatment like a CTA (call to action)

JavaScript

The JS directory has its own README file.

Ok, jQuery is used, it is ubiquitous so it is easy to use. Most of what I do here are attribute manipulations and those generally work from early versions on to the modern releases.

Vanilla JavaScript has been added as well.

Gulp with NPM was added as well. You can point it to files and folders to rapidly fix compoinents or static files. Gulp.js comments explain it all. I know it’s ancient, but as a task runner, it works fast locally, better than GREP statements.

What it does

We add missing alt attributes with a value and alts without values, plus a default role. The next thing it does is remove titles from images.

We also remove tabindexes and then re-add to clickable links in the order from the DOM tree in a linear fashion.

There is also a way to add titles to iframes. This helps when you embed third party code like from Vimeo. I will add an advanced way to detect the domain it is calling and then use it to have contextual titles.

TODO:

License

FREEEEEEEEEE

More of me
Weaponized UX Dev.to Medium LinkedIn StackOverflow Insta I actually race