<div dir="auto">Thank you for correcting that<br clear="all"><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Taylor <br><br><br><br></div></div></div><div><br></div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Feb 22, 2026 at 7:11\u202fPM Peter via NFBCS <<a href="mailto:nfbcs@nfbnet.org">nfbcs@nfbnet.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div class="m_-6010396235007319232WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Hello David and everyone,<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Taylor is a girl not a guy<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">Peter Donahue<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif">.<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p></div></div><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div class="m_-6010396235007319232WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif"><u style="font-family:Calibri,sans-serif"></u> <u style="font-family:Calibri,sans-serif"></u></span></p><div><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> NFBCS <<a href="mailto:nfbcs-bounces@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs-bounces@nfbnet.org</a>> <b style="font-family:Calibri,sans-serif">On Behalf Of </b>dandrews920--- via NFBCS<br><b style="font-family:Calibri,sans-serif">Sent:</b> Sunday, February 22, 2026 7:04 PM<br><b style="font-family:Calibri,sans-serif">To:</b> 'NFB in Computer Science Mailing List' <<a href="mailto:nfbcs@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs@nfbnet.org</a>><br><b style="font-family:Calibri,sans-serif">Cc:</b> <a href="mailto:dandrews920@comcast.net" target="_blank" style="font-family:Calibri,sans-serif">dandrews920@comcast.net</a><br><b style="font-family:Calibri,sans-serif">Subject:</b> Re: [NFBCS] From Taylor Arndt: I Got Fed Up With AI Forgetting Accessibility, So I Built a Team That Will Not<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">He is not necessarily on this list \u2013 as I forwarded the message.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Dave<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> NFBCS <<a href="mailto:nfbcs-bounces@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs-bounces@nfbnet.org</a>> <b style="font-family:Calibri,sans-serif">On Behalf Of </b>Humberto Avila via NFBCS<br><b style="font-family:Calibri,sans-serif">Sent:</b> Sunday, February 22, 2026 4:02 PM<br><b style="font-family:Calibri,sans-serif">To:</b> NFB in Computer Science Mailing List <<a href="mailto:nfbcs@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs@nfbnet.org</a>><br><b style="font-family:Calibri,sans-serif">Cc:</b> Humberto Avila <<a href="mailto:Humberto_Avila.IT104@outlook.com" target="_blank" style="font-family:Calibri,sans-serif">Humberto_Avila.IT104@outlook.com</a>><br><b style="font-family:Calibri,sans-serif">Subject:</b> Re: [NFBCS] From Taylor Arndt: I Got Fed Up With AI Forgetting Accessibility, So I Built a Team That Will Not<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thank you Taylor for sharing this! <u></u><u></u></p><p class="MsoNormal">I am wondering, will this team of agents be deployed in other AI GPTs other thanClaude? <u></u><u></u></p><p class="MsoNormal">Do you need a paid Claude account to use Code projects and these different types of agents? <u></u><u></u></p><p class="MsoNormal">I have been recently getting intofibe-coding myself, just as a hobby. And I really like it, but I run into the same problem from time to time with non-accessible code, and I have to check the stuff manually. <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks! <u></u><u></u></p><p class="MsoNormal">Humberto<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal"><a href="https://www.freedomscientific.com/Training/Certification" target="_blank"><span style="text-decoration:none;color:windowtext"><img border="0" src="cid:ii_19c880e1d16ad7999131" alt="JAWS Certified, 2025" style="width:86px;max-width:100%"></span></a><span><u></u><u></u></span></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> NFBCS <<a href="mailto:nfbcs-bounces@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs-bounces@nfbnet.org</a>> <b style="font-family:Calibri,sans-serif">On Behalf Of </b>Ty Littlefield via NFBCS<br><b style="font-family:Calibri,sans-serif">Sent:</b> Sunday, February 22, 2026 1:44 PM<br><b style="font-family:Calibri,sans-serif">To:</b> NFB in Computer Science Mailing List <<a href="mailto:nfbcs@nfbnet.org" target="_blank" style="font-family:Calibri,sans-serif">nfbcs@nfbnet.org</a>><br><b style="font-family:Calibri,sans-serif">Cc:</b> Ty Littlefield <<a href="mailto:tyler@tysdomain.com" target="_blank" style="font-family:Calibri,sans-serif">tyler@tysdomain.com</a>><br><b style="font-family:Calibri,sans-serif">Subject:</b> Re: [NFBCS] From Taylor Arndt: I Got Fed Up With AI Forgetting Accessibility, So I Built a Team That Will Not<u style="font-family:Calibri,sans-serif"></u><u style="font-family:Calibri,sans-serif"></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p>This is awesome; thank you for doing it. How much of a difference have you found?<u></u><u></u></p><p>My problem does tend to be context windows as you mentioned with the drifting, but the secondary issue is that AI was trained on a load of horrible data, so it tends to make terrible accessibility decisions. One of the more fun vibe-coded accessibility issues I'm stumbling on lately is adding aria-haspopup to everything.<u></u><u></u></p><p><u></u> <u></u></p><div><div><p><strong><span style="font-family:Aptos,sans-serif">Ty Littlefield (he/him/his)</span></strong><u></u><u></u></p><ul type="disc"><li class="MsoNormal"><a href="https://tysdomain.com" target="_blank">From Bytes to Bites</a>| <u></u><u></u></li><li class="MsoNormal"><a href="https://www.linkedin.com/in/ty-lerlittlefield/" target="_blank">Linkedin</a><u></u><u></u></li></ul></div></div><div><p class="MsoNormal">On 2/22/2026 1:54 PM, dandrews920--- via NFBCS wrote:<u></u><u></u></p></div><blockquote style="margin-top:5pt;margin-bottom:5pt"><p class="MsoNormal"> <u></u><u></u></p><div><p>Taylor\u2019s Substack - Friday, February 20, 2026 at 8:39<span style="font-family:Arial,sans-serif">\u202f</span>PM<u></u><u></u></p><h1>I Got Fed Up With AI Forgetting Accessibility, So I Built a Team That Will Not<u></u><u></u></h1><div><p class="MsoNormal"><img border="0" width="920" height="480" style="width: 9.5833in; height: 5in;" id="m_-6010396235007319232_x0000_i1025" src="https://substackcdn.com/image/fetch/$s_!RcQU!,f_auto,q_auto:best,fl_progressive:steep/https%3A%2F%2Ftaylorarndt.substack.com%2Ftwitter%2Fsubscribe-card.jpg%3Fv%3D-888026622%26version%3D9"><u></u><u></u></p></div><p>It is Friday night. I had a long day at work coding with Claude, and I am talking to some friends of mine. I have had it.<u></u><u></u></p><p>AI tools do not care about accessibility. And I finally did something about it.<u></u><u></u></p><div><div><div><p>Taylor\u2019s Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.<u></u><u></u></p></div></div></div><h2>The Frustration <u></u><u></u></h2><p>I use AI coding tools every day. Claude Code is a core part of how I work. I have written about this before. AI helps me stay organized, keep context, and build things faster than my brain would allow on its own. It is genuinely one of the most important tools in my workflow.<u></u><u></u></p><p>But there is a problem. A big one.<u></u><u></u></p><p>AI tools are terrible at accessibility.<u></u><u></u></p><p>I do not mean they are bad sometimes. I mean they are consistently, reliably, predictably bad at it. Every single time I ask an AI to build a component, I have to fight for the basics. Label your inputs. Trap focus in the modal. Do not use a div when a button exists. Make sure this contrast ratio actually passes. Add a live region so the screen reader knows something changed.<u></u><u></u></p><p>These are not advanced requirements. These are the fundamentals. And AI drops them constantly.<u></u><u></u></p><h2>Why This Hits Different for Me <u></u><u></u></h2><p>I am a screen reader user. When AI generates a modal without focus trapping, I am the person who gets stuck. When it skips live regions on search results, I am the person who hears nothing. When it uses a div with an onClick instead of a button, I am the person who cannot activate it with my keyboard.<u></u><u></u></p><p>I am not reviewing accessibility as an abstract checklist. I am living it. Every failure that ships is a wall I personally hit.<u></u><u></u></p><p>And the worst part is that I know better. I am an accessibility specialist. I have the knowledge to catch these issues. But I should not have to catch them every single time. The tools should know this already.<u></u><u></u></p><h2>What I Tried First <u></u><u></u></h2><p>I tried the obvious things. I wrote detailed instructions in CLAUDE.md files. I created skills with accessibility rules. I added reminders to my prompts.<u></u><u></u></p><p>None of it stuck.<u></u><u></u></p><p>Skills in Claude Code activate maybe twenty percent of the time without manual intervention. Instructions in context files work at first, but as the conversation grows, they drift. The model deprioritizes them. It decides other things matter more. Accessibility gets quietly dropped from the plan.<u></u><u></u></p><p>That is the pattern. Not malicious. Not intentional. Just gone. Every time.<u></u><u></u></p><h2>So I Built a Team <u></u><u></u></h2><p>I stopped trying to remind one model to care about accessibility. Instead, I built six specialized agents, each with a single focused job they cannot ignore.<u></u><u></u></p><p>There is an Accessibility Lead that orchestrates the team and decides which specialists are needed. There is an ARIA Specialist that enforces correct roles, states, and properties. There is a Modal Specialist that owns focus trapping, focus return, and escape behavior. There is a Contrast Master that checks every color combination against WCAG AA ratios. There is a Keyboard Navigator that ensures everything can be reached and operated without a mouse. And there is a Live Region Controller that bridges the gap between visual updates and screen reader awareness.<u></u><u></u></p><p>Each agent has its own context window. Its own system prompt. Its own identity. The ARIA specialist cannot forget about ARIA because ARIA is who it is. The contrast master cannot skip contrast checks because that is its entire purpose.<u></u><u></u></p><p>A hook fires on every prompt I send to Claude Code. If the task involves UI code, the Accessibility Lead activates and coordinates the right specialists. If it does not involve UI, the hook is ignored and Claude works normally.<u></u><u></u></p><h2>Why Agents Instead of Everything Else <u></u><u></u></h2><p>I tried skills. They get ignored.<u></u><u></u></p><p>I tried MCP servers. They add tool calls but do not change how the model reasons about code.<u></u><u></u></p><p>I tried detailed instructions. They drift out of context.<u></u><u></u></p><p>Agents are different. They run in their own window with their own rules. The rules are not suggestions. They are the agent\u2019s entire identity. That is the difference. A suggestion can be deprioritized. An identity cannot.<u></u><u></u></p><h2>What It Covers <u></u><u></u></h2><p>The team enforces WCAG 2.1 Level AA compliance. That includes screen reader compatibility across VoiceOver, NVDA, and JAWS. Keyboard-only navigation. Focus management for single-page apps, modals, and dynamic content. Color contrast verification with actual ratio calculation. Live region implementation for toasts, search results, loading states, and form feedback. Semantic HTML enforcement. And common framework pitfalls like React conditional rendering breaking live regions and Tailwind color classes failing contrast.<u></u><u></u></p><p>That is a lot. And it should be. Because accessibility is a lot.<u></u><u></u></p><h2>It Is Open Source <u></u><u></u></h2><p>I built this for the community. It is free. It is MIT licensed. Anyone using Claude Code can install it in about thirty seconds.<u></u><u></u></p><p>The installer asks if you want it at the project level or globally. It works on macOS, Linux, and Windows. It even has an auto-update system that checks GitHub daily for improvements.<u></u><u></u></p><p>Here is the repo: <a href="https://github.com/taylorarndt/a11y-agent-team" target="_blank">https://github.com/taylorarndt/a11y-agent-team</a><u></u><u></u></p><h2>This Is a Preview <u></u><u></u></h2><p>I am still testing. I am still refining the agents. I am still finding gaps and fixing them. This is not a finished product announcement. This is a preview. I wanted to share it early because accessibility should not wait for a polished launch.<u></u><u></u></p><p>If you try it and something is missing, open an issue. If a pattern gets overlooked, tell me. If you work with a framework that has specific gotchas, contribute. This is a community project and it will get better with more eyes on it.<u></u><u></u></p><h2>Why I Care This Much <u></u><u></u></h2><p>I use assistive technology every day. Accessibility is not a feature I advocate for. It is how I experience the internet. Every inaccessible component is a door that does not open for me. Every missing label is a form I cannot fill out. Every broken modal is a trap I have to escape from.<u></u><u></u></p><p>AI tools should make the web more accessible, not less. They generate code at a speed and scale that humans never could. If that code is inaccessible by default, the problem is not getting smaller. It is getting bigger. Fast.<u></u><u></u></p><p>That is why I built this. Not because it is a cool project. Because I need it. And I am not the only one.<u></u><u></u></p><p>If you want to support this, star the repo and watch it for updates. If you find gaps, open an issue. If you have ideas or framework-specific patterns to add, feel free to contribute. This is a community project. The more people involved, the better it gets.<u></u><u></u></p><p>Here is the repo one more time: <a href="https://github.com/taylorarndt/a11y-agent-team" target="_blank">https://github.com/taylorarndt/a11y-agent-team</a><u></u><u></u></p><p>Thank you for reading. More updates coming as the agents improve.<u></u><u></u></p><div><div><div><p>Taylor\u2019s Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.<u></u><u></u></p></div></div></div><p><a href="https://taylorarndt.substack.com/p/i-got-fed-up-with-ai-forgetting-accessibility" target="_blank">https://taylorarndt.substack.com/p/i-got-fed-up-with-ai-forgetting-accessibility</a><u></u><u></u></p></div><p class="MsoNormal"> <u></u><u></u></p></blockquote></div></div>_______________________________________________<br>
NFBCS mailing list<br>
<a href="mailto:NFBCS@nfbnet.org" target="_blank">NFBCS@nfbnet.org</a><br>
<a href="http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org" rel="noreferrer" target="_blank">http://nfbnet.org/mailman/listinfo/nfbcs_nfbnet.org</a><br>
To unsubscribe, change your list options or get your account info for NFBCS:<br>
<a href="http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/taylorarndt99%40gmail.com" rel="noreferrer" target="_blank">http://nfbnet.org/mailman/options/nfbcs_nfbnet.org/taylorarndt99%40gmail.com</a><br>
</blockquote></div></div>