{"slug": "aria-anti-patterns-and-you", "title": "ARIA, anti-patterns, and you", "summary": "A developer warns against misusing ARIA and the ARIA Authoring Practices Guide (APG), emphasizing that the APG is not a best-practice guide but a theoretical demonstration of the ARIA spec. The author cautions against using LLM agents to generate code from the APG, citing that increased ARIA usage correlates with more accessibility errors, and advocates for native HTML over ARIA whenever possible.", "body_md": "# ARIA, anti-patterns, and you\n\nPlease take a minute to understand what [ARIA](https://www.w3.org/WAI/standards-guidelines/aria/) is and is not. ARIA and especially the [ARIA Authoring Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/) are commonly misunderstood.\n\nI read an article [the other day](https://dbushell.com/notes/2026-06-24T05:31Z/) that had this facepalm moment:\n\nAnd with modern LLM agents, turning a spec into working code is surprisingly fast. Point the agent at the APG pattern, describe your component’s markup, and get a solid first draft you can refine and test.\n\nThis is worrying, and the use of “LLM agents” isn’t the worst part!\n\nThe APG is **not** a how-to guide of ‘best practices’ for building accessible websites. It exists to demonstrate how the ARIA specification should work in theory — regardless of support and regardless of whether more accessible, non-ARIA patterns exist (they do).\n\nAs Eric Bailey notes —\n\nThe guide was originally authored to help demonstrate ARIA’s capabilities. As a result, its code examples near-exclusively, overwhelmingly, and disproportionately favor ARIA.\n\n[What I Wish Someone Told Me When I Was Getting Into ARIA]- Eric Bailey\n\n— which makes sense, because:\n\nBrowser and assistive technology developers can thus utilize code in this guide to help assess the quality of their support for ARIA 1.2.\n\n[Read Me First]- ARIA Authoring Practices Guide (APG)\n\nEven if ARIA was fully supported ([it’s not](https://a11ysupport.io/)) the APG still wouldn’t be a ‘best practice’ guide. ‘Best practice’ is not using ARIA at all.\n\nIf you can use a native HTML element or attribute with the semantics and behavior you require\n\nalready built in, instead of re-purposing an element and adding an ARIA role, state or property to make it accessible,then do so.\n\n[2.1 First Rule of ARIA Use]- Using ARIA, W3C\n\nAPG exists in a vacuum to show off the ARIA spec.\n\nThe [button example](https://www.w3.org/WAI/ARIA/apg/patterns/button/examples/button/) includes this code, for crying out loud!\n\n```\n<div tabindex=\"0\"\n     role=\"button\"\n     id=\"action\">\n  Print Page\n</div>\n```\n\nI’m unaware of any circumstance where `<div role=\"button\">`\n\nshould ever be used over a `<button>`\n\n. Before you tell me you can’t edit your [React](https://jsx.lol/)\n\nIn fairness, the button example has a [“Read This First”](https://www.w3.org/WAI/ARIA/apg/patterns/button/examples/button/#support-notice-header) disclosure — and guess what: they use a [ <details> element](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/details) and not the\n\n[disclosure pattern](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/)because the APG isn’t best practice. It’s hard to blame developers for misusing ARIA and the APG. I’ve been confused myself. As W3C documentation goes, APG is rather sexy. It’s a useful resource if you understand why it exists.\n\nMisuse of ARIA has made the web less accessible.\n\nIncreased ARIA usage on pages was associated with higher detected errors. The more ARIA attributes that were present, the more detected accessibility errors could be expected.\n\n[The WebAIM Million]- WebAIM\n\n## TL;DR\n\nAvoid ARIA where ever possible. Don’t point a freaking LLM at the APG! I can’t believe I’m saying this but use [Google’s slop](https://dbushell.com/2026/05/20/google-just-spat-in-my-face/) if you absolutely refuse to learn/code yourself. Apparently [OpenAI is throwing ARIA](https://adrianroselli.com/2025/10/openai-aria-and-seo-making-the-web-worse.html) at the web and seeing what sticks. Ahhh! I don’t know anymore, take some pride in your expertise?\n\nP.S. name an assistive technology that isn’t a screen reader.\n\nAin’t easy, is it? So don’t be casually punctuating with the word “test” like it’s some *get-out-of-jail-free *card for your dubious practice and advice.\n\n[“Overview of Digital Accessibility Technologies”](https://vale.rocks/posts/digital-accessibility-technologies) by Declan Chidlow is a great help if you want to win this game at parties.", "url": "https://wpnews.pro/news/aria-anti-patterns-and-you", "canonical_source": "https://dbushell.com/2026/06/26/aria-anti-patterns-and-you/", "published_at": "2026-06-26 18:36:13+00:00", "updated_at": "2026-06-26 22:35:28.053717+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "ai-agents"], "entities": ["ARIA", "ARIA Authoring Practices Guide", "W3C", "WebAIM", "Eric Bailey", "Declan Chidlow", "OpenAI", "Google"], "alternates": {"html": "https://wpnews.pro/news/aria-anti-patterns-and-you", "markdown": "https://wpnews.pro/news/aria-anti-patterns-and-you.md", "text": "https://wpnews.pro/news/aria-anti-patterns-and-you.txt", "jsonld": "https://wpnews.pro/news/aria-anti-patterns-and-you.jsonld"}}