# Website issues we test for

Source: https://www.fixreports.com/issues

Each page explains one problem our automated tests find, in accessibility, SEO or speed: what it means, why it matters, how to fix it on any site, on Shopify and on WordPress, and how to check the fix.

## Accessibility issues
- [ARIA hidden element must not be focusable or contain focusable elements](https://www.fixreports.com/issues/aria-hidden-focus): WCAG 4.1.2 · Level A. Focusable elements are hidden from screen readers but can still be reached with the keyboard. (ARIA attributes and roles)
- [autocomplete attribute must be used correctly](https://www.fixreports.com/issues/autocomplete-valid): WCAG 1.3.5 · Level AA. A form field uses an autocomplete value browsers don't recognise. (Form fields without labels)
- [Buttons must have discernible text](https://www.fixreports.com/issues/button-name): WCAG 4.1.2 · Level A. Some buttons have no accessible name, so screen reader users hear only 'button'. (Links and buttons without names)
- [Elements must meet minimum color contrast ratio thresholds](https://www.fixreports.com/issues/color-contrast): WCAG 1.4.3 · Level AA. Some text doesn't stand out enough from its background to be read by people with low vision. (Low color contrast)
- [Documents must have <title> element to aid in navigation](https://www.fixreports.com/issues/document-title): WCAG 2.4.2 · Level A. A page has no title, so users can't tell which page they're on. (Page titles)
- [IDs used in ARIA and labels must be unique](https://www.fixreports.com/issues/duplicate-id-aria): WCAG 4.1.2 · Level A. Several elements share an id that labels or describes something, so assistive technology may read the wrong label. (ARIA attributes and roles)
- [Frames must have an accessible name](https://www.fixreports.com/issues/frame-title): WCAG 4.1.2 · Level A. An embedded frame (often a map, video or app widget) has no title, so screen reader users don't know what it contains. (Page structure, headings and landmarks)
- [Heading levels should only increase by one](https://www.fixreports.com/issues/heading-order): Accessibility best practice. Heading levels skip (for example from H2 to H4), which makes the page structure confusing for screen reader users. (Page structure, headings and landmarks)
- [<html> element must have a lang attribute](https://www.fixreports.com/issues/html-has-lang): WCAG 3.1.1 · Level A. The page doesn't declare its language, so screen readers may read it with the wrong pronunciation. (Page language)
- [<html> element must have a valid value for the lang attribute](https://www.fixreports.com/issues/html-lang-valid): WCAG 3.1.1 · Level A. The page's language code isn't valid, so screen readers can't pick the right voice. (Page language)
- [Images must have alternative text](https://www.fixreports.com/issues/image-alt): WCAG 1.1.1 · Level A. Images are missing a text alternative, so screen reader users don't know what they show. (Images without text alternatives)
- [Input buttons must have discernible text](https://www.fixreports.com/issues/input-button-name): WCAG 4.1.2 · Level A. An input button has no text, so screen readers can't say what it does. (Form fields without labels)
- [Image buttons must have alternative text](https://www.fixreports.com/issues/input-image-alt): WCAG 1.1.1, 4.1.2 · Level A. An image button has no alt text, so screen readers can't say what it does. (Images without text alternatives)
- [Form elements must have labels](https://www.fixreports.com/issues/label): WCAG 4.1.2 · Level A. Some form fields have no label, so screen reader users don't know what to enter. (Form fields without labels)
- [Document should have one main landmark](https://www.fixreports.com/issues/landmark-one-main): Accessibility best practice. The page has no main landmark, so screen reader users can't jump straight to the content. (Page structure, headings and landmarks)
- [Links must be distinguishable without relying on color](https://www.fixreports.com/issues/link-in-text-block): WCAG 1.4.1 · Level A. Links inside paragraphs are only distinguished by colour, so people who can't see the colour difference miss them. (Low color contrast)
- [Links must have discernible text](https://www.fixreports.com/issues/link-name): WCAG 2.4.4, 4.1.2 · Level A. Some links have no text a screen reader can announce, often icon-only links such as social icons or the cart icon. (Links and buttons without names)
- [Zooming and scaling must not be disabled](https://www.fixreports.com/issues/meta-viewport): WCAG 1.4.4 · Level AA. The page blocks pinch-zoom on mobile. (Zoom and reflow)
- [Page should contain a level-one heading](https://www.fixreports.com/issues/page-has-heading-one): Accessibility best practice. The page has no top-level heading. (Page structure, headings and landmarks)
- [All page content should be contained by landmarks](https://www.fixreports.com/issues/region): Accessibility best practice. Some content isn't inside a page landmark (header, nav, main or footer). (Page structure, headings and landmarks)
- [[role="img"] and [role="image"] elements must have alternative text](https://www.fixreports.com/issues/role-img-alt): WCAG 1.1.1 · Level A. An element presented as an image has no text alternative. (Images without text alternatives)
- [Scrollable region must have keyboard access](https://www.fixreports.com/issues/scrollable-region-focusable): WCAG 2.1.1 · Level A. A scrolling area can't be reached with the keyboard, so keyboard users can't scroll it. (Keyboard access and focus)
- [Select element must have an accessible name](https://www.fixreports.com/issues/select-name): WCAG 4.1.2 · Level A. A dropdown (often a sort or variant selector) has no label. (Form fields without labels)
- [<svg> elements with an img or image role must have alternative text](https://www.fixreports.com/issues/svg-img-alt): WCAG 1.1.1 · Level A. An SVG image that conveys information has no text alternative. (Images without text alternatives)
- [All touch targets must be 24px large, or leave sufficient space](https://www.fixreports.com/issues/target-size): WCAG 2.5.8 · Level AA. Some tap targets are smaller than 24 by 24 pixels and too close together, which makes them hard to hit on a phone. (Keyboard access and focus)

## SEO issues
- [Pages set to noindex](https://www.fixreports.com/issues/noindex): A noindex rule tells search engines not to show a page in their results. Left on the wrong pages, it silently removes them from Google.
- [robots.txt blocks the whole site](https://www.fixreports.com/issues/robots-txt-blocks-site): A Disallow: / rule for all crawlers tells search engines not to crawl any page of your site, so new and changed pages aren’t picked up.
- [No working XML sitemap](https://www.fixreports.com/issues/missing-xml-sitemap): An XML sitemap lists the pages you want search engines to find. Without a working one, they rely on links alone, which can leave new or poorly linked pages undiscovered.
- [Missing title tags](https://www.fixreports.com/issues/missing-title-tag): The title element names a page in browser tabs, bookmarks and, usually, search results. A page without one leaves search engines to invent a headline.
- [Duplicate title tags](https://www.fixreports.com/issues/duplicate-title-tags): Several pages with the same title look identical in search results, browser tabs and history, and give search engines less to tell them apart.
- [Title tags that get cut off](https://www.fixreports.com/issues/title-tag-too-long): Long titles aren’t an error, but search results shorten them to fit the screen, so the end of a long title may never be seen.
- [Missing meta descriptions](https://www.fixreports.com/issues/missing-meta-description): The meta description is a short summary of a page that search engines may use as the snippet under its title. Without one, they pick text from the page.
- [Pages without an H1 heading](https://www.fixreports.com/issues/missing-h1): The H1 is the main heading of a page. Pages without one give readers, screen reader users and search engines a less clear signal of what the page is about.
- [Missing or wrong canonical tags](https://www.fixreports.com/issues/canonical-tag-problems): A canonical tag names the preferred address of a page. Missing, it leaves search engines to choose among duplicates; pointing elsewhere, it can send your page’s signals to another URL.
- [Broken internal links](https://www.fixreports.com/issues/broken-internal-links): An internal link that leads to an error page is a dead end for visitors and a wasted request for search engine crawlers.
- [Missing Open Graph tags](https://www.fixreports.com/issues/missing-open-graph-tags): Open Graph tags decide how a link to your page looks when it’s shared in chat apps and on social networks. Without them, the preview is guessed, often with no image.
- [Missing or invalid structured data](https://www.fixreports.com/issues/structured-data-problems): Structured data describes a page to search engines in a standard format. Missing, broken or incomplete markup makes a page ineligible for rich results such as prices, ratings and breadcrumbs.
- [Missing viewport meta tag](https://www.fixreports.com/issues/missing-viewport-meta-tag): Without a viewport meta tag, phones render the page as a shrunken desktop layout that people have to pinch and zoom to read.

## Speed issues
- [Slow Largest Contentful Paint (LCP)](https://www.fixreports.com/issues/slow-largest-contentful-paint): Largest Contentful Paint measures how long it takes for the main content of a page, usually a hero image or headline, to appear. A slow LCP is the most visible sign of a slow page.
- [Content that jumps while loading (CLS)](https://www.fixreports.com/issues/cumulative-layout-shift): Cumulative Layout Shift measures how much visible content moves unexpectedly while a page loads, the jump that makes people tap the wrong button.
- [Slow responses to clicks and taps (INP)](https://www.fixreports.com/issues/slow-interaction-inp): Interaction to Next Paint measures how long a page takes to respond visibly to taps, clicks and key presses. A poor INP feels like a frozen or laggy page.
- [A lazy-loaded main image](https://www.fixreports.com/issues/lazy-loaded-lcp-image): Lazy loading is for images further down the page. On the main image at the top, it makes the browser wait before downloading the very thing people came to see.
- [Images larger than they need to be](https://www.fixreports.com/issues/oversized-images): Images are usually the heaviest part of a page. Files far larger or wider than their displayed size waste download time, especially on phones.
- [Heavy pages and too many requests](https://www.fixreports.com/issues/heavy-pages): The more a page downloads, the longer it takes on a phone. Pages of several megabytes, or with hundreds of separate files, are slow on all but the best connections.
- [Too much third-party code](https://www.fixreports.com/issues/third-party-scripts): Chat widgets, analytics, ads, review apps and tag managers load code from other domains. Together they often make up a large share of a page’s weight and blocking time.
- [Render-blocking scripts and stylesheets](https://www.fixreports.com/issues/render-blocking-resources): Scripts and stylesheets in the <head> that load synchronously make the browser wait before it can show anything on screen.
