I fixed 200+ WCAG violations across The Library Corporation's cataloging apps in about a month, which was the work that got the company's government contracts renewed; accessibility compliance was a hard requirement to keep selling to public institutions. It mattered because those apps reach 5,500+ school and public libraries nationwide, so every unlabeled input and broken focus state was a real barrier for real users. Three months in, the lead developer moved off the project and I became the sole frontend developer for the next 23 months, on my first Java codebase and in a domain I'd never touched.
The remediation
The cataloging apps were legacy Java Spring and Thymeleaf templates that had accumulated accessibility debt for years: missing alt text, missing input labels and ARIA roles, broken links and empty buttons, low contrast, out-of-order headings, and no visible focus states. I audited 15+ views with WebAIM and browser tools, categorized and prioritized the 200+ violations, then worked through them systematically over roughly a month, fixing the markup and pulling it back toward semantic HTML as I went.
The serials cataloging system
With the apps compliant, I took on the feature that had been requested for years and never delivered. I worked closely with a retiring senior cataloger to learn library science well enough to translate cataloging workflows into UI, then architected and built the serials cataloging system alone: pagination, advanced search filtering, and an algorithm-driven serial generator that handled limited and indefinite schedules, multiple formats from periodicals to academic journals, create/clone/duplicate/generate operations, cadences from daily through biannual, and Volume/Part/Issue/Index/Section types. To keep it from sprawling, I built polymorphic AngularJS components where a single component class handled books, magazines, encyclopedias, and serials, which killed the need for asset-specific forms and kept the design language consistent. Across 30+ delivered features I roughly doubled the application's capabilities, and accessibility testing patterns I established along the way kept new work from regressing.
What I took from it
Holding the frontend alone for 23 months in an unfamiliar domain and stack taught me that the accessibility fixes weren't a compliance chore bolted on at the end; building semantic, labeled, keyboard-navigable markup from the start made the apps easier to use for everyone, sighted users included.
