{"id":7142,"date":"2026-11-05T05:04:23","date_gmt":"2026-11-05T05:04:23","guid":{"rendered":"https:\/\/www.originux.com\/resources\/?p=7142"},"modified":"2026-11-05T05:04:25","modified_gmt":"2026-11-05T05:04:25","slug":"wcag-compliance-checklist-detailed-guide","status":"publish","type":"post","link":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/","title":{"rendered":"WCAG Compliance Checklist: Detailed Guide"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#What_WCAG_Compliance_Means\" >What WCAG Compliance Means<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#How_to_Use_This_Checklist\" >How to Use This Checklist<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Perceivable\" >Perceivable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Operable\" >Operable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Understandable\" >Understandable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Robust\" >Robust<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Design_Team_Quick_Check\" >Design Team Quick Check<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Developer_Quick_Check\" >Developer Quick Check<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Content_Team_Quick_Check\" >Content Team Quick Check<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#How_to_Test\" >How to Test<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Common_Failures_to_Fix_First\" >Common Failures to Fix First<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Documenting_Your_Compliance\" >Documenting Your Compliance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Keeping_Compliance_Over_Time\" >Keeping Compliance Over Time<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#Final_Thoughts\" >Final Thoughts<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Accessibility audits can feel huge. WCAG 2.2 has dozens of success criteria, each with technical wording. This checklist breaks them into plain-language checks, grouped by the four WCAG principles. Use it to review a design, audit a live site, or brief a developer. It covers Level A and Level AA, the target most laws and contracts expect.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_WCAG_Compliance_Means\"><\/span>What WCAG Compliance Means<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WCAG stands for Web Content Accessibility Guidelines. WCAG 2.2 is the current version, published by the W3C in October 2023. To claim Level AA conformance, a page must meet all Level A and Level AA success criteria, which come to 55 in WCAG 2.2. Conformance applies to full pages, and a process such as checkout must pass from start to finish.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No checklist replaces expert review or testing with people who use assistive tools. Treat this as a working guide. It is not legal advice.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Use_This_Checklist\"><\/span>How to Use This Checklist<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Go through it one page template or one user flow at a time. Mark each item as pass, fail, or not applicable. Record the page, the issue, and a screenshot for every fail. Fix problems that block tasks first, such as keyboard traps and missing form labels. Then retest.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Perceivable\"><\/span>Perceivable<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Users must be able to see, hear, or otherwise perceive content.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Text alternatives and media<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Every meaningful image has alt text that conveys its purpose (1.1.1).<\/li>\n\n\n\n<li>Decorative images are marked so screen readers skip them (1.1.1).<\/li>\n\n\n\n<li>Prerecorded video has captions (1.2.2).<\/li>\n\n\n\n<li>Prerecorded video has audio description or a text alternative (1.2.3, 1.2.5).<\/li>\n\n\n\n<li>Live video has captions (1.2.4).<\/li>\n\n\n\n<li>Audio-only and video-only content has a transcript or equivalent (1.2.1).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Structure and meaning<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Headings, lists, tables, and form labels use real markup, not only visual styling (1.3.1).<\/li>\n\n\n\n<li>Reading order in the code matches the visual order (1.3.2).<\/li>\n\n\n\n<li>Instructions do not rely only on shape, size, or position, such as \u201cclick the round button\u201d (1.3.3).<\/li>\n\n\n\n<li>The layout works in both portrait and landscape (1.3.4).<\/li>\n\n\n\n<li>Fields that collect personal data, such as name and email, carry correct autocomplete attributes (1.3.5).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Color, contrast, and text<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Color is never the only way to show meaning, such as errors or required fields (1.4.1).<\/li>\n\n\n\n<li>Audio that plays automatically for more than three seconds can be paused or muted (1.4.2).<\/li>\n\n\n\n<li>Body text has a contrast ratio of at least 4.5 to 1. Large text has at least 3 to 1 (1.4.3).<\/li>\n\n\n\n<li>Text resizes to 200 percent without losing content or function (1.4.4).<\/li>\n\n\n\n<li>Real text is used instead of images of text, except logos (1.4.5).<\/li>\n\n\n\n<li>Content reflows at a 320 pixel width without sideways scrolling, apart from items such as maps and data tables (1.4.10).<\/li>\n\n\n\n<li>Icons, input borders, and focus indicators have at least 3 to 1 contrast (1.4.11).<\/li>\n\n\n\n<li>Content stays readable when users increase line, paragraph, letter, and word spacing (1.4.12).<\/li>\n\n\n\n<li>Tooltips and pop-ups that appear on hover or focus can be dismissed, hovered over, and stay visible until closed (1.4.13).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Operable\"><\/span>Operable<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Users must be able to operate every control and navigate every page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keyboard<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All functions work with a keyboard alone (2.1.1).<\/li>\n\n\n\n<li>Focus never gets trapped in a component (2.1.2).<\/li>\n\n\n\n<li>Single-character shortcuts can be turned off or remapped (2.1.4).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Time and motion<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Time limits can be turned off, extended, or adjusted (2.2.1).<\/li>\n\n\n\n<li>Moving, blinking, or auto-updating content can be paused, stopped, or hidden (2.2.2).<\/li>\n\n\n\n<li>Nothing flashes more than three times per second (2.3.1).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Navigation<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A skip link lets keyboard users bypass repeated blocks (2.4.1).<\/li>\n\n\n\n<li>Each page has a unique, descriptive title (2.4.2).<\/li>\n\n\n\n<li>Tab order follows a logical sequence (2.4.3).<\/li>\n\n\n\n<li>Link text makes sense in context. Avoid bare \u201cclick here\u201d (2.4.4).<\/li>\n\n\n\n<li>Users have more than one way to find pages, such as menu, search, or sitemap (2.4.5).<\/li>\n\n\n\n<li>Headings and labels describe their topic or purpose (2.4.6).<\/li>\n\n\n\n<li>Every focusable element shows a visible focus indicator (2.4.7).<\/li>\n\n\n\n<li>Sticky headers, footers, and banners do not fully hide the focused element (2.4.11, new in 2.2).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Input methods<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Multi-finger and path-based gestures have a single-pointer alternative (2.5.1).<\/li>\n\n\n\n<li>Actions fire on release, so users can cancel by moving away (2.5.2).<\/li>\n\n\n\n<li>The visible label of a control appears in its accessible name (2.5.3).<\/li>\n\n\n\n<li>Features triggered by shaking or tilting also work through standard controls (2.5.4).<\/li>\n\n\n\n<li>Anything that works by dragging also works with a click or tap (2.5.7, new in 2.2).<\/li>\n\n\n\n<li>Targets are at least 24 by 24 CSS pixels, or have enough spacing, or meet an exception (2.5.8, new in 2.2).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Understandable\"><\/span>Understandable<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Content and interface behavior must be clear and predictable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Readability<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The page language is set in the code (3.1.1).<\/li>\n\n\n\n<li>Passages in another language are marked (3.1.2).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Predictability<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Focusing on an element does not cause an unexpected change of context (3.2.1).<\/li>\n\n\n\n<li>Changing a field value does not trigger an unexpected change, such as auto-submit (3.2.2).<\/li>\n\n\n\n<li>Navigation appears in the same order across pages (3.2.3).<\/li>\n\n\n\n<li>The same function uses the same label and icon across the site (3.2.4).<\/li>\n\n\n\n<li>Help options, such as chat or contact links, sit in the same relative place on each page (3.2.6, new in 2.2).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Forms and errors<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Errors are identified in text and linked to the field (3.3.1).<\/li>\n\n\n\n<li>Every input has a visible label or clear instructions (3.3.2).<\/li>\n\n\n\n<li>Error messages suggest how to fix the problem (3.3.3).<\/li>\n\n\n\n<li>Legal, financial, and data-changing actions can be reversed, checked, or confirmed (3.3.4).<\/li>\n\n\n\n<li>Users are not asked to re-enter information they already gave in the same process (3.3.7, new in 2.2).<\/li>\n\n\n\n<li>Login does not rely on a cognitive test. Paste works, password managers work, or another method such as a passkey or email link is available (3.3.8, new in 2.2).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Robust\"><\/span>Robust<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Content must work with browsers and assistive technologies.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Custom controls expose the right name, role, and state to assistive tools (4.1.2).<\/li>\n\n\n\n<li>Status messages, such as \u201cItem added to cart\u201d or \u201c3 results found,\u201d are announced without moving focus (4.1.3).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">WCAG 2.2 removed the old 4.1.1 Parsing criterion, so you no longer need to check for it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Design_Team_Quick_Check\"><\/span>Design Team Quick Check<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Designers can catch many failures before any code exists.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Run every text and icon color pair through a contrast checker.<\/li>\n\n\n\n<li>Design a clear focus state for every interactive element.<\/li>\n\n\n\n<li>Mark minimum target sizes and spacing in specs.<\/li>\n\n\n\n<li>Add a non-color cue to every error and status.<\/li>\n\n\n\n<li>Specify a click alternative for each drag action.<\/li>\n\n\n\n<li>Place help links consistently across templates.<\/li>\n\n\n\n<li>Zoom mockups to 200 percent and check the layout.<\/li>\n\n\n\n<li>Write alt text and caption notes into the design file.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Developer_Quick_Check\"><\/span>Developer Quick Check<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use native HTML elements before custom ones.<\/li>\n\n\n\n<li>Associate every input with a label.<\/li>\n\n\n\n<li>Set the page language and a unique title.<\/li>\n\n\n\n<li>Use ARIA only when native elements cannot do the job, and keep names, roles, and states accurate.<\/li>\n\n\n\n<li>Manage focus on modals, drawers, and route changes.<\/li>\n\n\n\n<li>Use live regions for status messages.<\/li>\n\n\n\n<li>Add scroll padding so sticky bars do not cover focused items.<\/li>\n\n\n\n<li>Test with zoom, text spacing changes, and a 320 pixel viewport.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Content_Team_Quick_Check\"><\/span>Content Team Quick Check<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Write descriptive headings and link text.<\/li>\n\n\n\n<li>Add alt text that says what an image does, not only what it shows.<\/li>\n\n\n\n<li>Provide captions and transcripts for media.<\/li>\n\n\n\n<li>Use plain language and short sentences.<\/li>\n\n\n\n<li>Write error messages that explain the fix.<\/li>\n\n\n\n<li>Avoid instructions that depend on color or position alone.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_to_Test\"><\/span>How to Test<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Automated scans.<\/strong> Tools such as axe DevTools, WAVE, and Lighthouse catch common issues quickly. They find only a portion of problems, so never stop here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keyboard testing.<\/strong> Unplug the mouse. Tab through every page and flow. Check focus order, visible focus, traps, and that every action works.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Screen reader testing.<\/strong> Test key tasks with NVDA or JAWS on Windows, VoiceOver on Mac and iOS, and TalkBack on Android.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Zoom and reflow.<\/strong> Zoom to 200 percent and narrow the window to 320 pixels. Look for cut-off content and sideways scrolling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Visual checks.<\/strong> Use contrast tools, grayscale views, and color-blindness simulators.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Testing with users.<\/strong> People with disabilities find issues that tools and experts miss. Include them in usability tests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Common_Failures_to_Fix_First\"><\/span>Common Failures to Fix First<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Based on large-scale audits of home pages, a few issues appear again and again:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Low-contrast text.<\/li>\n\n\n\n<li>Missing alt text.<\/li>\n\n\n\n<li>Missing form labels.<\/li>\n\n\n\n<li>Empty links and buttons with no accessible name.<\/li>\n\n\n\n<li>Missing document language.<\/li>\n\n\n\n<li>Removed or faint focus outlines.<\/li>\n\n\n\n<li>Custom controls that keyboards cannot reach.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Fixing these usually clears a large share of reported errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Documenting_Your_Compliance\"><\/span>Documenting Your Compliance<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Many buyers and regulators ask for an Accessibility Conformance Report, often based on the VPAT template. It lists each WCAG criterion with a result, such as supports, partially supports, or does not support, plus notes. Publish an accessibility statement that explains your target level, known gaps, and how users can report problems or request help. Keep a log of audits and fixes so you can show steady progress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keeping_Compliance_Over_Time\"><\/span>Keeping Compliance Over Time<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Accessibility is not a one-time project. New pages, features, and third-party tools can introduce new failures. Build checks into your workflow:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add accessibility criteria to design reviews and definitions of done.<\/li>\n\n\n\n<li>Run automated tests in your build pipeline.<\/li>\n\n\n\n<li>Include a keyboard and screen reader pass in QA.<\/li>\n\n\n\n<li>Re-audit after major releases and redesigns.<\/li>\n\n\n\n<li>Train designers, developers, and content writers.<\/li>\n\n\n\n<li>Check vendor widgets, such as chat and payment tools, since their failures become yours.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Final_Thoughts\"><\/span>Final Thoughts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Meeting WCAG 2.2 AA means working through a defined set of checks across perception, operation, understanding, and robustness. Start with the failures that block users, then work through the rest by template and flow. Test with automated tools, a keyboard, a screen reader, and real people. Document what you find and build checks into every release. Done consistently, this checklist turns accessibility from a late audit into a normal part of shipping.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Accessibility audits can feel huge. WCAG 2.2 has dozens of success criteria, each with technical wording. This checklist breaks them into plain-language checks, grouped by the four WCAG principles. Use it to review a design, audit a live site, or brief a developer. It covers Level A and Level AA, the target most laws and&hellip; <a class=\"more-link\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\">Continue reading <span class=\"screen-reader-text\">WCAG Compliance Checklist: Detailed Guide<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7142","post","type-post","status-publish","format-standard","hentry","category-blog","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WCAG Compliance Checklist: A Detailed Guide<\/title>\n<meta name=\"description\" content=\"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WCAG Compliance Checklist: A Detailed Guide\" \/>\n<meta property=\"og:description\" content=\"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"OriginUX Studio\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-05T05:04:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-05T05:04:25+00:00\" \/>\n<meta name=\"author\" content=\"master.origin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"master.origin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\"},\"author\":{\"name\":\"master.origin\",\"@id\":\"https:\/\/www.originux.com\/resources\/#\/schema\/person\/735b211d8a21c6181bb758144923ef3c\"},\"headline\":\"WCAG Compliance Checklist: Detailed Guide\",\"datePublished\":\"2026-11-05T05:04:23+00:00\",\"dateModified\":\"2026-11-05T05:04:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\"},\"wordCount\":1507,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.originux.com\/resources\/#organization\"},\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\",\"url\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\",\"name\":\"WCAG Compliance Checklist: A Detailed Guide\",\"isPartOf\":{\"@id\":\"https:\/\/www.originux.com\/resources\/#website\"},\"datePublished\":\"2026-11-05T05:04:23+00:00\",\"dateModified\":\"2026-11-05T05:04:25+00:00\",\"description\":\"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.originux.com\/resources\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WCAG Compliance Checklist: Detailed Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.originux.com\/resources\/#website\",\"url\":\"https:\/\/www.originux.com\/resources\/\",\"name\":\"OriginUX Studio\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.originux.com\/resources\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.originux.com\/resources\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.originux.com\/resources\/#organization\",\"name\":\"OriginUX Studio\",\"url\":\"https:\/\/www.originux.com\/resources\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.originux.com\/resources\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.originux.com\/resources\/wp-content\/uploads\/2022\/05\/origin-logo.png\",\"contentUrl\":\"https:\/\/www.originux.com\/resources\/wp-content\/uploads\/2022\/05\/origin-logo.png\",\"width\":120,\"height\":120,\"caption\":\"OriginUX Studio\"},\"image\":{\"@id\":\"https:\/\/www.originux.com\/resources\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.originux.com\/resources\/#\/schema\/person\/735b211d8a21c6181bb758144923ef3c\",\"name\":\"master.origin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g\",\"caption\":\"master.origin\"},\"sameAs\":[\"https:\/\/www.originux.com\"],\"url\":\"https:\/\/www.originux.com\/resources\/author\/master-origin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WCAG Compliance Checklist: A Detailed Guide","description":"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/","og_locale":"en_US","og_type":"article","og_title":"WCAG Compliance Checklist: A Detailed Guide","og_description":"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.","og_url":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/","og_site_name":"OriginUX Studio","article_published_time":"2026-11-05T05:04:23+00:00","article_modified_time":"2026-11-05T05:04:25+00:00","author":"master.origin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"master.origin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#article","isPartOf":{"@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/"},"author":{"name":"master.origin","@id":"https:\/\/www.originux.com\/resources\/#\/schema\/person\/735b211d8a21c6181bb758144923ef3c"},"headline":"WCAG Compliance Checklist: Detailed Guide","datePublished":"2026-11-05T05:04:23+00:00","dateModified":"2026-11-05T05:04:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/"},"wordCount":1507,"commentCount":0,"publisher":{"@id":"https:\/\/www.originux.com\/resources\/#organization"},"articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/","url":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/","name":"WCAG Compliance Checklist: A Detailed Guide","isPartOf":{"@id":"https:\/\/www.originux.com\/resources\/#website"},"datePublished":"2026-11-05T05:04:23+00:00","dateModified":"2026-11-05T05:04:25+00:00","description":"Use this WCAG 2.2 Level A and AA checklist to audit your site or app. Each item maps to a success criterion, with testing steps, tools, and common failures to fix first.","breadcrumb":{"@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.originux.com\/resources\/blog\/wcag-compliance-checklist-detailed-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.originux.com\/resources\/"},{"@type":"ListItem","position":2,"name":"WCAG Compliance Checklist: Detailed Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.originux.com\/resources\/#website","url":"https:\/\/www.originux.com\/resources\/","name":"OriginUX Studio","description":"","publisher":{"@id":"https:\/\/www.originux.com\/resources\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.originux.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.originux.com\/resources\/#organization","name":"OriginUX Studio","url":"https:\/\/www.originux.com\/resources\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.originux.com\/resources\/#\/schema\/logo\/image\/","url":"https:\/\/www.originux.com\/resources\/wp-content\/uploads\/2022\/05\/origin-logo.png","contentUrl":"https:\/\/www.originux.com\/resources\/wp-content\/uploads\/2022\/05\/origin-logo.png","width":120,"height":120,"caption":"OriginUX Studio"},"image":{"@id":"https:\/\/www.originux.com\/resources\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.originux.com\/resources\/#\/schema\/person\/735b211d8a21c6181bb758144923ef3c","name":"master.origin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/356acc98edd1351e180a192318e3335999f553b20c01c8a00391239e394d4727?s=96&d=mm&r=g","caption":"master.origin"},"sameAs":["https:\/\/www.originux.com"],"url":"https:\/\/www.originux.com\/resources\/author\/master-origin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/posts\/7142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/comments?post=7142"}],"version-history":[{"count":1,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/posts\/7142\/revisions"}],"predecessor-version":[{"id":7143,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/posts\/7142\/revisions\/7143"}],"wp:attachment":[{"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/media?parent=7142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/categories?post=7142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.originux.com\/resources\/wp-json\/wp\/v2\/tags?post=7142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}