The Accessibility Gap
You built an app with Cursor, deployed it, and received an email from a user who uses a screen reader: "I cannot navigate your app. The buttons do not have labels, the form fields do not have descriptions, and I cannot tab through the page." What happened? Your app works for sighted mouse users, but it is inaccessible to screen reader users and keyboard users. This is the accessibility gap, and it is one of the most common failures in AI-generated apps. AI assistants build apps for the "average" user (sighted, mouse-using, on a desktop), which means they miss the accessibility requirements that make apps usable by everyone. Here are the 7 reasons AI-generated apps are inaccessible, and the production checklist to fix them.
The direct answer is that accessibility (a11y) is the practice of making apps usable by everyone, including users with disabilities (visual, motor, cognitive, auditory). AI assistants generate code that works for sighted mouse users but misses the accessibility requirements: missing alt text, missing ARIA labels, missing keyboard navigation, poor color contrast, missing focus management, missing form labels, and missing semantic HTML. The result is apps that are inaccessible to screen reader users, keyboard users, and users with other disabilities, which excludes a significant fraction of potential users and exposes the app to legal liability (under the ADA, WCAG, and other accessibility laws). For more on production compliance, see our article on the cookie consent trap.
Reason 1: Missing Alt Text
The most common reason AI-generated apps are inaccessible is missing alt text on images. AI assistants often add tags without the alt attribute, which means screen reader users cannot understand what the image shows. The fix is to add descriptive alt text to every image. For decorative images (e.g., a background pattern), use alt="" (empty alt text) to tell the screen reader to skip it. For informative images (e.g., a chart, a logo), write a concise description. For more on image handling, see our article on the file upload trap.
Reason 2: Missing ARIA Labels
The second reason is missing ARIA labels on interactive elements. AI assistants often use