Top 9 Accessibility Issues
Web developers worldwide have found 97 million A11Y issues on 12 million checked web pages.
Here are the most common issues detected by Rocket Validator.
Last update: Friday, March 13, 2026
1. Elements in the focus order should have an appropriate role. 38.57%
Every element that can receive keyboard focus must have a role that clearly communicates its purpose to assistive technologies. When a focusable element lacks a role or has an inappropriate one (such as a generic <div> or <span> with tabindex="0" but no semantic meaning), screen reader users will not understand what the element is or how to interact with it. Fix this by using native HTML interactive elements whenever possible, or by assigning a valid ARIA role attribute to custom widgets.
2. Alternative text of images should not be repeated as text. 29.15%
When an image’s alt text duplicates the visible text right next to it — such as inside the same link or button — screen readers announce the identical content twice, creating a confusing and redundant experience for blind and deafblind users. To fix this, set the image’s alt attribute to an empty string (alt="") when adjacent text already conveys the same information, or ensure the alt text provides genuinely different, useful information.
3. ARIA role should be appropriate for the element. 16.90%
Not every WAI-ARIA role can be applied to every HTML element. When an element is given a role that isn’t allowed for that element type, assistive technologies may report confusing or nonsensical information, breaking the user experience. To fix this, ensure that any role you assign to an HTML element is permitted for that element according to the ARIA in HTML specification.
4. Headings should not be empty. 8.62%
Empty heading elements confuse screen reader users by announcing a heading with no content, disrupting their ability to understand the page’s structure. To fix this, ensure every <h1> through <h6> element contains meaningful, accessible text — and remove heading markup from any element that isn’t actually a heading.
5. Elements marked as presentational should be consistently ignored. 2.92%
6. Users should be able to zoom and scale the text up to 500%. 2.87%
The <meta name="viewport"> element can prevent users from zooming a page when it includes user-scalable="no" or a restrictive maximum-scale value. To ensure people with low vision can magnify content to a comfortable level, remove user-scalable="no" and set maximum-scale to at least 5 (500%).
7. Table header text should not be empty. 0.89%
Table header elements (<th>, or elements with role="rowheader" or role="columnheader") must contain visible text that describes the purpose of their row or column. Empty table headers fail to communicate meaning to both sighted users and screen reader users. If a cell isn’t actually a header, use a <td> element instead.
8. Ensure elements marked as presentational are consistently ignored. 0.08%
When an element is given role="none" or role="presentation", it should be removed from the accessibility tree so assistive technologies ignore it. However, adding global ARIA attributes or making the element focusable creates a conflict that prevents this removal, leaving the element unexpectedly exposed to screen readers. To fix this, remove any global ARIA attributes and ensure the element is not focusable.
9. tables should not have the same summary and caption. 0.00%
When a data table’s summary attribute and <caption> element contain identical text, screen reader users hear the same information repeated without gaining any additional understanding of the table’s structure or purpose. To fix this, ensure the <caption> provides a visible title for the table while the summary attribute offers a distinct description of how the table is organized.
Validate at scale.
Ship accessible websites, faster.
Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.
Pro Trial
Full Pro access. Cancel anytime.
Start Pro Trial →Join teams across 40+ countries