
Accessible Modals: From dialog showModal() to Focus Traps
You built a modal. You press Tab, and the buttons in the background get focus. You press ESC, and nothing closes. A screen reader plows through the content without even saying “dialog.” And when you click the close button, focus vanishes into thin air. Anyone who builds modals runs into all four of these at some point. The name focus trap sounds great, but the problem is that the trap tends to get set in the wrong place. Let’s fix them one by one. ...

WCAG 3 Conformance vs. Bronze, Silver, Gold: How to Claim a Tier
When “pass” and “grade” show up in the same document, it’s tempting to put them on one line: the passing mark is the lowest grade, and the grades climb from there. Most exams work that way. WCAG 3’s conformance and Bronze, Silver, and Gold are easy to read the same way. On October 16, I gave a talk, What the WCAG 3.0 Draft Asks of Evaluation Methods, at a meeting of the Digital Accessibility Standardization Forum’s service subcommittee. In the Q&A, someone asked: “What’s the difference between meeting conformance and Bronze, Silver, Gold? And what do you have to do to get them?” I couldn’t answer it well with only the materials I’d prepared, and I’ve regretted that since. So I went back to the WCAG 3 Working Draft published on September 10, 2026, with just that one question in mind. WCAG 3 is the standard W3C is building to succeed WCAG 2.2, and a Working Draft is one that isn’t final yet. ...

Lighthouse Agentic Browsing, Tested: 2/2 for a Button You Can't Tab To
Not long ago I received a trend summary titled “The Spread of AI-Based Accessibility Standards.” Its first line said “W3C’s ARIA-AI Framework discussions are underway.” I went looking, and there’s no such standard. The only places that name appeared were auto-generated posts without a single W3C link. AI and accessibility really have come together, though. Not in standards, though. In tools. OpenAI’s developer FAQ for its AI browser, ChatGPT Atlas, says: “Making your website more accessible helps ChatGPT Agent in Atlas understand it better.” ...

Why axe and IBM Disagree, Tested Against W3C ACT Rules
I put the same page into two checkers. One says “needs review.” The other says “fail.” If your team has used more than one automated accessibility checker, you’ve probably seen this. So which one is right? I decided to answer that with numbers. The 37 accessibility test rules that W3C has approved come with 558 approved examples, each one labeled with the correct answer: this HTML passes, this HTML fails. I ran them through axe-core and IBM Equal Access, one by one. Of the 430 cases both tools checked, 413 agreed on whether the example fails (407 if you count “cannot tell” as its own result). The 17 that split were mostly cases where one tool returned cannot tell, or where one tool failed code that ACT doesn’t consider a failure. ACT rules are the yardstick for this comparison. The format they’re written in, ACT Rules Format 1.1, became a W3C Recommendation, W3C’s name for an official web standard, in February 2026. ...

WebAIM Million 2026's +22.5% Was the Wrong Number — Rereading Web Page Complexity
Not many people go back and recalculate the numbers in a report. I didn’t either. When I wrote up the WebAIM Million 2026 report this past July, I copied one line straight into the post: “average of 1,437 elements per home page, up 22.5% in a single year.” Then, while researching a follow-up post, I looked up last year’s figure: 1,257. Going from 1,257 to 1,437 is 14.3%, not 22.5%. I asked WebAIM, and they confirmed it was a calculation error and corrected the original text. ...

Form Validation Timing: From Blur to aria-invalid
I was building a signup form. The moment I focused the email field, an error popped up: “Invalid email format.” I hadn’t typed a single character yet. The password confirmation field was the opposite. I typed the whole password, submitted the form, and only then did it say “Passwords don’t match” — after I’d already finished typing. Then I hit submit, and seven error messages showed up all at once. ...

Focus Management in SPAs: Keeping Screen Readers on Track After Route Changes
I’d been happily shipping a React SPA for a while when an accessibility audit came back with this note: “The page changed, but the screen reader said nothing.” The page transition animated smoothly, the URL updated, the content changed… but as far as a screen reader user was concerned, nothing happened at all. That’s the hidden trap of SPAs. Traditional Websites vs. SPAs What happens when you click a link on a traditional multi-page site? ...

When Google Forms Prints Only One Page: PrintImg Splits a Tall Screenshot into A4 Pages
Introduction After you run a survey, someone always asks for a printed copy of the results. If you built the form in Google Forms, the Responses tab already draws you nice charts, so printing that screen straight off should just work, right? Try hitting print from the responses page, though, and you get one broken page — even though there are plenty more questions below the fold. The pie charts in the Summary tab get sliced in half at the page boundary, too. I ran into this wall myself, and eventually built a tool for it: PrintImg, which splits a tall screenshot into as many A4 pages as it needs. ...

What Changed in the WCAG 3 September 2026 Draft: Levels Move from Conformance to Reporting
WCAG 3 September 2026 Working Draft explained: one conformance line, Bronze/Silver/Gold as reporting tiers, and 216 requirements counted by hand.

Safari 27 Fixed top-level await — Retested, and Loading Doubled
Safari’s top-level await bug was reported back in July 2022 (WebKit bug 242740), and by October 2025 it had gotten bad enough that top-level await dropped to “Limited” on Baseline (the cross-browser support signal for web platform features). The fix merged in April 2026, shipped starting with Safari Technology Preview 243 in May, and on September 2 the WebKit team posted the postmortem: Fixing top-level await in Safari. ...