Skip to content

All checks ​

Lumtera runs 64 checks on your content. 60 of them map to a WCAG 2.2 level A or AA success criterion. The other 4 are level AAA best practices, which is why they show up as tips.

Each check starts with a default severity:

SeverityShown asMeaning
errorErrorLumtera is confident this is a barrier. Errors lower the score the most.
warningNeeds reviewA machine can't decide this alone. A person should look and confirm or dismiss it. Lowers the score a little.
noticeTipBest practice. Worth fixing, but not a WCAG A/AA failure on its own. Doesn't affect the score.

You can change any check's severity, or switch it off, under Accessibility → Settings. See Settings.

Linking to a check

Every check below has a stable anchor that matches its ID, for example /checks#image-missing-alt. The IDs never change, and they're the same ones you'll see in WP-CLI output, the REST API and the Abilities API.

Summary ​

Images (9) ​

CheckIDWCAGLevelDefault
Image has no alternative textimage-missing-alt1.1.1AError
Image has empty alt textimage-empty-alt1.1.1ANeeds review
Alt text looks like a file nameimage-alt-filename1.1.1ANeeds review
Alt text repeats "image of"image-alt-redundant1.1.1ATip
Alt text is very longimage-alt-long1.1.1ATip
Image map area has no textarea-missing-alt1.1.1AError
Image button has no textinput-image-missing-alt1.1.1AError
Alt text is a generic wordimage-alt-placeholder1.1.1ANeeds review
Alt text repeats nearby textimage-alt-duplicates-text1.1.1ATip
CheckIDWCAGLevelDefault
Link has no textlink-no-name2.4.4AError
Link text is vaguelink-ambiguous-text2.4.4ANeeds review
Link does not go anywherelink-fake4.1.2ANeeds review
Link opens a new tab without warninglink-new-window3.2.5AAATip
Button has no textbutton-no-name4.1.2AError
Link opens a document filelink-to-document2.4.4ANeeds review
Link text is a web addresslink-url-as-text2.4.4ATip
Same link text goes to different pageslink-same-text-different-url2.4.4ANeeds review
Image and text link go to the same pagelink-adjacent-duplicate2.4.4ATip
In-page link goes nowherelink-anchor-missing2.4.4AError
Link or button may be too small to taptarget-size-small2.5.8AANeeds review

Headings (6) ​

CheckIDWCAGLevelDefault
Heading is emptyheading-empty1.3.1AError
Heading level is skippedheading-skipped-level1.3.1ANeeds review
Content uses an H1 headingheading-h1-in-content1.3.1ATip
Bold text may be a headingheading-possible1.3.1ATip
Heading is very longheading-too-long1.3.1ATip
Long content has no subheadingscontent-no-headings2.4.10AAATip

Forms (7) ​

CheckIDWCAGLevelDefault
Form field has no labelform-field-no-label4.1.2AError
Form field has more than one labelform-field-multiple-labels1.3.1ANeeds review
Options are not grouped with their questionform-group-no-fieldset1.3.1ANeeds review
Personal-data field has no autocompleteinput-autocomplete-missing1.3.5AANeeds review
Form asks for the same email twiceform-redundant-entry3.3.7ATip
Password field blocks pasting or password managerspassword-paste-blocked3.3.8AAError
Check the CAPTCHA has an accessible alternativecaptcha-present3.3.8AANeeds review

Tables (4) ​

CheckIDWCAGLevelDefault
Table has no header cellstable-no-headers1.3.1ANeeds review
Table header cell is emptytable-empty-header1.3.1ATip
Table may be used for layouttable-layout1.3.1ANeeds review
Table has empty rowstable-empty-row1.3.1ATip

Audio, video & embeds (10) ​

CheckIDWCAGLevelDefault
Media plays sound automaticallymedia-autoplay-audio1.4.2AError
Moving video cannot be pausedmedia-no-pause2.2.2ANeeds review
Video has no captions trackvideo-no-captions1.2.2ANeeds review
Embedded frame has no titleiframe-no-title4.1.2AError
Scrolling or blinking textmarquee-blink2.2.2AError
Check captions on embedded videovideo-embed-captions1.2.2ANeeds review
Check that the slider can be pausedcarousel-motion2.2.2ANeeds review
GIF may be animatedanimated-gif2.2.2ANeeds review
Check audio has a transcriptaudio-no-transcript1.2.1ANeeds review
Embedded frames share the same titleiframe-duplicate-title4.1.2ANeeds review

Structure (8) ​

CheckIDWCAGLevelDefault
Text is formatted as a list by handlist-fake1.3.1ATip
List item is outside a listlist-item-orphan1.3.1ANeeds review
Empty paragraphs used for spacingempty-paragraph-spacing1.3.1ATip
Emoji used as bullets or iconsemoji-as-icon1.3.1ATip
Text is justifiedtext-justified1.4.8AAATip
Underlined text looks like a linktext-underline-not-link1.3.1ATip
Text is very smalltext-too-small1.4.4AATip
Long passage in capital letterstext-all-caps1.4.8AAATip

Color (1) ​

CheckIDWCAGLevelDefault
Text color has low contrastcolor-contrast1.4.3AAError

ARIA & keyboard (7) ​

CheckIDWCAGLevelDefault
Hidden element can still be focusedaria-hidden-focusable4.1.2AError
Unknown ARIA rolearia-invalid-role4.1.2ANeeds review
Label points to a missing elementaria-broken-reference1.3.1ANeeds review
Duplicate IDduplicate-id4.1.2ATip
Positive tabindex changes the focus ordertabindex-positive2.4.3ANeeds review
Accessible name leaves out the visible textlabel-in-name2.5.3ANeeds review
Only a tooltip names this controlname-from-title-only4.1.2ANeeds review

Language (1) ​

CheckIDWCAGLevelDefault
Language code is invalidlang-invalid3.1.2AANeeds review

Check details ​

Images ​

Image has no alternative text ​

image-missing-alt · WCAG 1.1.1 Non-text Content · Level A · Default: Error

How to fix: Select the image and fill in "Alternative text" in the block settings. Describe what the image shows or does in context. If the image is purely decorative, mark it decorative so screen readers skip it: "Mark as decorative" in the Image settings (WordPress 7.1 and later), or "Decorative image" under Accessibility on older versions. Outside the block editor, give decorative images an empty alt (alt="").

Image has empty alt text ​

image-empty-alt · WCAG 1.1.1 Non-text Content · Level A · Default: Needs review

How to fix: If the image shows information visitors need — a product, a person, a chart, text — add alternative text describing it. If it is purely decorative, dismiss this item. In Elementor, set the alt text on the image in the Media Library. (Image blocks in the block editor are covered by their own decorative setting instead.) In Cover and Media & Text blocks an empty alt text is how WordPress marks an image decorative; if that was intended, dismiss this item with a reason.

Alt text looks like a file name ​

image-alt-filename · WCAG 1.1.1 Non-text Content · Level A · Default: Needs review

How to fix: Replace the alt text with a short description of what the image shows or does, as you would describe it to someone over the phone.

Alt text repeats "image of" ​

image-alt-redundant · WCAG 1.1.1 Non-text Content · Level A · Default: Tip

How to fix: Remove words like "image of" or "picture of" from the start of the alt text. Screen readers already announce that it is an image. Keep the word only when the medium matters, e.g. "Oil painting of…".

Alt text is very long ​

image-alt-long · WCAG 1.1.1 Non-text Content · Level A · Default: Tip

How to fix: Keep alt text to a sentence or two. If the image carries detailed information — a chart, a diagram, a map — give a short alt text and put the full description in the caption or the surrounding text.

Image map area has no text ​

area-missing-alt · WCAG 1.1.1 Non-text Content · Level A · Default: Error

How to fix: Add an alt attribute to every <area> describing where the link goes, e.g. alt="Northern region sales".

Image button has no text ​

input-image-missing-alt · WCAG 1.1.1 Non-text Content · Level A · Default: Error

How to fix: Add an alt attribute that says what the button does, e.g. alt="Search" — not what the picture looks like.

Alt text is a generic word ​

image-alt-placeholder · WCAG 1.1.1 Non-text Content · Level A · Default: Needs review

How to fix: Select the image and, in the block sidebar, replace the alternative text with what the image shows or what it is for, e.g. "Acme Bakery logo" rather than "logo". If the image is only decoration, clear the field (or switch on "Decorative image") so screen readers skip it.

Alt text repeats nearby text ​

image-alt-duplicates-text · WCAG 1.1.1 Non-text Content · Level A · Default: Tip

How to fix: Make the alt text describe what the picture shows, and let the caption or heading add context — they are read out too. If the image only illustrates the text beside it, mark it decorative (Image block settings > Accessibility) so it is skipped. For a linked image with text in the same link, an empty alt is right.

link-no-name · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Error

How to fix: Give the link visible text. If the link is an image, add alt text to the image that says where the link goes (e.g. "Download the 2026 annual report"). For icon-only links, add an aria-label.

link-ambiguous-text · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Needs review

How to fix: Rewrite the link so its text names the destination, e.g. "Read our refund policy" instead of "click here". If the design needs short text, keep it visible and add the full purpose with an aria-label that starts with the visible words.

link-fake · WCAG 4.1.2 Name, Role, Value · Level A · Default: Needs review

How to fix: If it takes the visitor to another page or section, give it a real URL. If it performs an action (opens a menu, plays a video), use a Button block or <button> element instead, which works with Enter and Space and is announced as a button.

link-new-window · WCAG 3.2.5 Change on Request · Level AAA · Default: Tip

How to fix: Either turn off "Open in new tab" in the link settings, or add "(opens in a new tab)" to the link text so people know before they click.

Button has no text ​

button-no-name · WCAG 4.1.2 Name, Role, Value · Level A · Default: Error

How to fix: Add visible text to the button that says what it does. For icon-only buttons, add an aria-label such as aria-label="Close menu".

link-to-document · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Needs review

How to fix: Check the document itself: it needs real headings, alt text for images, a set language and a logical reading order (for PDFs, export from Word or Google Docs as a "tagged" PDF, then run the Adobe Acrobat accessibility check). Consider also publishing the content as a normal page. In the link text, say what the file is and roughly how big, e.g. "2026 price list (PDF, 1.2 MB)". Once the document has been checked, dismiss this item.

link-url-as-text · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Tip

How to fix: Select the address in the editor and type words that describe the page instead, e.g. "Spring menu at Rosa's Café"; the link stays the same. If visitors need to see the address (for example in a printed handout), keep it but add the page name in front of it.

link-same-text-different-url · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Needs review

How to fix: Make each link's text say where it goes, e.g. "Pricing for teams" and "Pricing for schools". If the links really lead to the same content (for example two addresses for one page), dismiss this item.

link-adjacent-duplicate · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Tip

How to fix: Use one link instead of two: remove the link from the image (select it and use Unlink in the toolbar), or put the image and the text inside the same link. In a Query Loop, you can turn off "Link to post" on the Post Featured Image block and keep it on the Post Title.

link-anchor-missing · WCAG 2.4.4 Link Purpose (In Context) · Level A · Default: Error

How to fix: Give the section the link should jump to a matching HTML anchor: select its block (usually a heading) and fill in Advanced > HTML anchor with the text after the # in the link, spelled exactly the same. Or change the link to point at an anchor that exists.

Link or button may be too small to tap ​

target-size-small · WCAG 2.5.8 Target Size (Minimum) · Level AA · Default: Needs review

How to fix: Make the link or button at least 24 × 24 pixels, for example by making its icon larger or adding padding around it. Smaller targets pass only if nothing else clickable sits within 24 pixels of them. Links inside a sentence are exempt.

Headings ​

Heading is empty ​

heading-empty · WCAG 1.3.1 Info and Relationships · Level A · Default: Error

How to fix: Type the heading text, or delete the block. To add space between sections, use a Spacer block rather than an empty heading.

Heading level is skipped ​

heading-skipped-level · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Choose heading levels by structure, not by size: sections of the post are H2, sub-sections inside them H3, and so on. To change how a heading looks, change its font size in the block settings instead of its level.

Content uses an H1 heading ​

heading-h1-in-content · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Change this heading to H2. Most themes already show the post title as the page's single H1. If your theme hides the title and you intend this to replace it, dismiss this tip.

Bold text may be a heading ​

heading-possible · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: If this line introduces a section, turn the paragraph into a Heading block (type "/heading" or use the block's Transform menu). If it is just emphasis, dismiss this tip.

Heading is very long ​

heading-too-long · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: If this text is not a section title, turn it into a Paragraph block (block toolbar > Transform) and make it larger with Typography > Size in the sidebar instead. If it is a title, shorten it and move the detail into the paragraph that follows.

Long content has no subheadings ​

content-no-headings · WCAG 2.4.10 Section Headings · Level AAA · Default: Tip

How to fix: Break the text into sections and give each one a Heading block (H2 for main sections, H3 inside them). Screen reader users can then jump from section to section, and everyone can skim to the part they need. Section headings are a level AAA recommendation.

Forms ​

Form field has no label ​

form-field-no-label · WCAG 4.1.2 Name, Role, Value · Level A · Default: Error

How to fix: Add a visible <label> tied to the field with for="field-id", or wrap the field inside its label. In form-builder plugins, turn on the field's label (you can style it smaller, but keep it). A placeholder is not a label.

Form field has more than one label ​

form-field-multiple-labels · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Keep one <label> for the field and put all the label text in it. Extra help such as "We never share your email" belongs in a hint tied to the field with aria-describedby. In form-builder plugins, this usually means removing a label you added by hand next to the field's own label setting.

Options are not grouped with their question ​

form-group-no-fieldset · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Wrap the options in a <fieldset> and put the question in a <legend> as its first child, e.g. <legend>Preferred contact method</legend>. In form plugins, look for a setting that shows the field label as a group label or legend; most do this for radio and checkbox fields. Alternatively, give the wrapper role="radiogroup" (or role="group") and an aria-labelledby pointing at the question.

Personal-data field has no autocomplete ​

input-autocomplete-missing · WCAG 1.3.5 Identify Input Purpose · Level AA · Default: Needs review

How to fix: Add an autocomplete attribute naming what the field collects, such as autocomplete="email", "name", "tel", "street-address" or "postal-code". Most form plugins have an autocomplete setting on each field. Only fields that ask about the visitor themselves need it, so dismiss this item for fields asking about someone else (for example, a friend's email).

Form asks for the same email twice ​

form-redundant-entry · WCAG 3.3.7 Redundant Entry · Level A · Default: Tip

How to fix: Remove the "confirm email" field. To catch typos, show the address back to the visitor before they submit, or send a confirmation email with a link. Most form plugins have a setting to turn the confirmation field off.

Password field blocks pasting or password managers ​

password-paste-blocked · WCAG 3.3.8 Accessible Authentication (Minimum) · Level AA · Default: Error

How to fix: Remove the onpaste (or oncopy/ondrop) handler that stops pasting, and replace autocomplete="off" with autocomplete="current-password" on sign-in forms or autocomplete="new-password" on registration and reset forms. Visitors can then paste or let their password manager fill in the field.

Check the CAPTCHA has an accessible alternative ​

captcha-present · WCAG 3.3.8 Accessible Authentication (Minimum) · Level AA · Default: Needs review

How to fix: Prefer spam protection that asks visitors nothing, such as an invisible or score-based CAPTCHA, a honeypot field or your form plugin's built-in spam filter. If a challenge must stay, make sure it does not require typing distorted text, solving a sum or memorizing something, offers an audio option, and that visitors can get help another way (for example by email). For sign-in and registration forms this is required by WCAG 2.2 (3.3.8).

Tables ​

Table has no header cells ​

table-no-headers · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Select the Table block and turn on "Header section" in its settings, then put column names in the header row. If the table is only used for layout, rebuild it with Columns blocks instead.

Table header cell is empty ​

table-empty-header · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Type a short name for the column or row into the header cell.

Table may be used for layout ​

table-layout · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: If the table only places content side by side, rebuild it with a Columns, Row or Grid block. If it really holds data, add a header row (Table block settings > Header section) so each value is announced with its heading. For layout tables you cannot change, add role="presentation" to the table element.

Table has empty rows ​

table-empty-row · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Delete the empty rows: click into a cell of the row and choose Delete row from the Table block toolbar. To add space between rows, use the table's styles instead of blank rows.

Audio, video & embeds ​

Media plays sound automatically ​

media-autoplay-audio · WCAG 1.4.2 Audio Control · Level A · Default: Error

How to fix: Turn off "Autoplay" in the Audio or Video block settings. If a video must start by itself, also turn on "Muted" so it plays silently.

Moving video cannot be paused ​

media-no-pause · WCAG 2.2.2 Pause, Stop, Hide · Level A · Default: Needs review

How to fix: Turn on "Playback controls" for the video, turn off "Loop" so it stops within five seconds, or use a still image instead. Check whether your theme already adds a pause button before dismissing.

Video has no captions track ​

video-no-captions · WCAG 1.2.2 Captions (Prerecorded) · Level A · Default: Needs review

How to fix: In the Video block settings, use "Text tracks" to upload a captions file (.vtt) and set its kind to Captions. If the captions are already part of the picture, or the video has no speech, dismiss this item.

Embedded frame has no title ​

iframe-no-title · WCAG 4.1.2 Name, Role, Value · Level A · Default: Error

How to fix: Add a title attribute describing the content, e.g. title="Map of our Brooklyn office". Embeds added with WordPress embed blocks get one automatically — this is usually pasted embed code.

marquee-blink · WCAG 2.2.2 Pause, Stop, Hide · Level A · Default: Error

How to fix: Replace the <marquee> or <blink> element with static text. To draw attention, use a heading, a color-contrasted callout or a Group block with a background.

Check captions on embedded video ​

video-embed-captions · WCAG 1.2.2 Captions (Prerecorded) · Level A · Default: Needs review

How to fix: Open the video on the service it is hosted on and check it has accurate captions (on YouTube: YouTube Studio > Subtitles; on Vimeo: the video's Distribution > Subtitles). Automatic captions often mishear names and terms, so review and correct them. If the video has no speech or important sounds, or captions are already shown in the picture, dismiss this item. Separately, if important information is only shown visually, WCAG 1.2.5 (AA) also asks for audio description or a text alternative.

carousel-motion · WCAG 2.2.2 Pause, Stop, Hide · Level A · Default: Needs review

How to fix: View the page and check: if the slides change by themselves, there must be a visible pause or stop button, or the movement must stop within five seconds. The simplest fix is to turn off "Autoplay" in the slider block or plugin settings. Also check the previous/next buttons and dots can be reached and used with the Tab and Enter keys (WCAG 2.1.1). If the slider only moves when a visitor clicks, and works from the keyboard, dismiss this item.

GIF may be animated ​

animated-gif · WCAG 2.2.2 Pause, Stop, Hide · Level A · Default: Needs review

How to fix: If the GIF moves for more than five seconds, replace it with a still image, a GIF that stops after a few loops, or a Video block with "Playback controls" turned on so visitors can pause it. If it is a still image, dismiss this item.

Check audio has a transcript ​

audio-no-transcript · WCAG 1.2.1 Audio-only and Video-only (Prerecorded) · Level A · Default: Needs review

How to fix: Publish a text transcript of the recording: everything that is said, who says it, and any important sounds. Put it right below the player, or link to it with text that includes the word "transcript". Music with no spoken words does not need one; dismiss this item in that case.

Embedded frames share the same title ​

iframe-duplicate-title · WCAG 4.1.2 Name, Role, Value · Level A · Default: Needs review

How to fix: Give each embedded frame a title that says what it contains, e.g. title="Video: how to repot a cactus" and title="Map of our Leeds shop". Pasted embed codes often come with a generic title such as "YouTube video player"; edit it in the HTML.

Structure ​

Text is formatted as a list by hand ​

list-fake · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Convert the lines into a List block (select the paragraphs and choose Transform → List). Screen readers then announce "list, 4 items" and let visitors skip it.

List item is outside a list ​

list-item-orphan · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Wrap the items in a <ul> or <ol>, or recreate them with a List block.

Empty paragraphs used for spacing ​

empty-paragraph-spacing · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Delete the empty paragraph blocks. To add space, use a Spacer block, or the block's Dimensions settings (margin and padding) in the sidebar.

Emoji used as bullets or icons ​

emoji-as-icon · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: For lines that start with an emoji, use a List block instead, so the lines are announced as a list; drop the emoji or keep it at the end of the line. For a link or button that shows only an emoji, add text that says what it does (it can be visually hidden), or an aria-label such as aria-label="Share on WhatsApp".

Text is justified ​

text-justified · WCAG 1.4.8 Visual Presentation · Level AAA · Default: Tip

How to fix: Align the text to the left (or to the right in right-to-left languages) instead of justifying it. Justified text leaves uneven gaps between words that make paragraphs harder to follow, especially for people with dyslexia. This is a level AAA recommendation, not a requirement for AA conformance.

text-underline-not-link · WCAG 1.3.1 Info and Relationships · Level A · Default: Tip

How to fix: Remove the underline (select the text and turn off Underline in the toolbar, or reset Typography > Decoration). To stress a word, use bold or italics instead, which are also announced as emphasis. Keep underlines for links, so visitors can tell what they can click.

Text is very small ​

text-too-small · WCAG 1.4.4 Resize Text · Level AA · Default: Tip

How to fix: Select the block and choose a larger size under Typography > Size, ideally the default body size. Keep text at 12px or larger; fine print is still content visitors need to read. Set sizes in rem or em rather than px so text grows when visitors change their browser's text size.

Long passage in capital letters ​

text-all-caps · WCAG 1.4.8 Visual Presentation · Level AAA · Default: Tip

How to fix: Write the text in normal sentence case. Capitals are harder to read in longer passages, and some screen readers spell typed capitals out letter by letter. For emphasis, use bold instead. If the design calls for capitals, type the text normally and set Typography > Letter case to uppercase, and keep it to short labels. This is a readability recommendation, not a WCAG AA requirement.

Color ​

Text color has low contrast ​

color-contrast · WCAG 1.4.3 Contrast (Minimum) · Level AA · Default: Error

How to fix: Select the block and open Styles → Color. Pick a darker text color or a lighter background (or the reverse) until the editor's own contrast warning disappears. Normal text needs 4.5:1; large text (24px, or 18.66px bold) needs 3:1.

ARIA & keyboard ​

Hidden element can still be focused ​

aria-hidden-focusable · WCAG 4.1.2 Name, Role, Value · Level A · Default: Error

How to fix: Either remove aria-hidden="true", or add tabindex="-1" to every link, button and field inside the hidden element so keyboard focus skips it too.

Unknown ARIA role ​

aria-invalid-role · WCAG 4.1.2 Name, Role, Value · Level A · Default: Needs review

How to fix: Correct the spelling of the role, or remove the role attribute. Native HTML elements (button, nav, ul) already carry the right role and are the better choice.

Label points to a missing element ​

aria-broken-reference · WCAG 1.3.1 Info and Relationships · Level A · Default: Needs review

How to fix: Make sure the referenced ID exists in the content and is spelled exactly the same (IDs are case-sensitive). This often breaks when a block is copied and its IDs are regenerated.

Duplicate ID ​

duplicate-id · WCAG 4.1.2 Name, Role, Value · Level A · Default: Tip

How to fix: Give each element a unique ID. In the block editor, check Advanced → HTML anchor on copied blocks, which keep the original's anchor.

Positive tabindex changes the focus order ​

tabindex-positive · WCAG 2.4.3 Focus Order · Level A · Default: Needs review

How to fix: Change the tabindex to 0 (or remove it) and put the element where it belongs in the content order instead.

Accessible name leaves out the visible text ​

label-in-name · WCAG 2.5.3 Label in Name · Level A · Default: Needs review

How to fix: Change the aria-label so it contains the visible words, ideally at the start: for a button showing "Subscribe", use "Subscribe to our newsletter", not "Sign up". Often the simplest fix is to remove the aria-label altogether (in the block editor, use the block's "Edit as HTML" option, or the label setting of the plugin that added it) and let the visible text be the name.

Only a tooltip names this control ​

name-from-title-only · WCAG 4.1.2 Name, Role, Value · Level A · Default: Needs review

How to fix: Give the control a name everyone can perceive: visible text for a link or button, or a visible <label> for a form field. For icon-only links and buttons, add an aria-label with the same words as the tooltip. You can keep the title attribute, but do not rely on it.

Language ​

Language code is invalid ​

lang-invalid · WCAG 3.1.2 Language of Parts · Level AA · Default: Needs review

How to fix: Use a standard language code such as lang="fr", lang="es-MX" or lang="zh-Hant". In the editor, select the text and use the Language format in the toolbar.

What the checks can't see ​

The content checks read the HTML your post produces: blocks, classic content, shortcode output and page-builder output. They don't see your theme's CSS, header, menus or footer. That's deliberate: every result is something you can fix in the editor, and your theme can never cause a false alarm.

To check the rendered page with the theme included, use the Whole page tab in review mode, or page checks in Lumtera Pro.

Automated checks find only part of what WCAG covers. See What automated testing can't do.