a11y.bytkit.com · Accessibility scan report · SAMPLE (demo site built with intentional accessibility problems)
Accessibility scan report: dequeuniversity.com
Scanned Sun, 27 Sep 2026 19:50:20 UTC · 1 page checked with axe-core 4.13.0 against WCAG 2.0/2.1/2.2 Level A and AA rules, plus best practices.
Summary
We found 96 issue instances of 13 types (9 mapped to WCAG success criteria, 4 best-practice). Many instances usually come from a few shared templates (header, footer, product card), so fixing one template can clear dozens of instances.
Severity is axe-core's impact rating: critical can block some users entirely, serious causes major difficulty, moderate and minor cause friction. Start at the top.
Prioritised checklist
Work top to bottom. Tick items off as you fix them, then re-run a free scan at a11y.bytkit.com.
- Critical Images are missing a text description (alt text) — 4 instances, 1 page (WCAG 1.1.1)
- Critical Drop-down menus have no label — 2 instances, 1 page (WCAG 4.1.2)
- Critical Buttons have no accessible name — 1 instance, 1 page (WCAG 4.1.2)
- Serious Tap targets are too small or too close together — 31 instances, 1 page (WCAG 2.5.8)
- Serious Links have no accessible name — 8 instances, 1 page (WCAG 2.4.4, 4.1.2)
- Serious Text does not have enough contrast with its background — 6 instances, 1 page (WCAG 1.4.3)
- Serious Embedded frames have no title — 1 instance, 1 page (WCAG 4.1.2)
- Serious The page does not declare its language — 1 instance, 1 page (WCAG 3.1.1)
- Serious Links inside text are only distinguishable by color — 1 instance, 1 page (WCAG 1.4.1)
- Best practice Serious Elements force a custom keyboard order (tabindex > 0) — 4 instances, 1 page
- Best practice Moderate Some content is outside of page landmarks — 35 instances, 1 page
- Best practice Moderate The page has no main landmark — 1 instance, 1 page
- Best practice Moderate Several landmarks have the same name — 1 instance, 1 page
How to fix things on Shopify and WooCommerce
Shopify
- Update your theme to its latest version (Online Store → Themes). Shopify's free themes, such as Dawn, receive accessibility fixes over time; a large share of issues in this report may come from theme code.
- Alt text: Products → each product → click an image → "Add alt text". Collections and theme sections have their own image alt fields in the theme editor.
- Colors: Online Store → Customize → Theme settings → Colors. Fix low-contrast text and button colors once there and it applies everywhere.
- Apps: for issues inside app widgets (reviews, pop-ups, chat), contact the app developer with the element and rule from this report.
- Theme code (buttons without names, skip links, landmarks): Online Store → Themes → … → Edit code — or send this report to your theme developer.
WooCommerce (WordPress)
- Update WordPress, WooCommerce, your theme and plugins; many fixes ship in updates. Consider a theme that states WCAG support.
- Alt text: Media → Library → select the image → "Alternative Text" (product gallery images included).
- Colors: Appearance → Customize (or the block editor's Styles) → Colors.
- Page builders and sliders often add unlabeled buttons and low-contrast text — check their accessibility settings.
Either platform: avoid "one-line fix" overlays
Accessibility overlay widgets do not repair the underlying code and do not make a site compliant. Fix issues at the source.
Detailed findings by WCAG 2.2 success criterion
- 1.1.1 Non-text Content (Level A) — 1 issue type
- 1.4.1 Use of Color (Level A) — 1 issue type
- 1.4.3 Contrast (Minimum) (Level AA) — 1 issue type
- 2.4.4 Link Purpose (In Context) (Level A) — 1 issue type
- 2.5.8 Target Size (Minimum) (Level AA) — 1 issue type
- 3.1.1 Language of Page (Level A) — 1 issue type
- 4.1.2 Name, Role, Value (Level A) — 4 issue types
- Best practices (not WCAG requirements) — 4 issue types
WCAG 1.1.1 Non-text Content (Level A) what this means
Critical Images are missing a text description (alt text) — 4 instances on 1 page
Who is affected: Blind shoppers using screen readers hear nothing, or a file name, instead of what the image shows.
How to fix: Add alt text that says what the image shows (e.g. "Blue linen shirt, front view"). For purely decorative images use an empty alt="" so screen readers skip them.
Shopify / WooCommerce tip: Shopify: Products → open product → click each image → "Add alt text". Theme images: Online Store → Customize → select the image block. WooCommerce: Media → Library → select image → "Alternative Text".
axe rule image-alt · technical details · WCAG 1.1.1
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | img[src$="seg"] | <img src="/assets/demo-sites/mars/js/seg" width="1" height="1"> |
| /demo/mars/ | li:nth-child(1) > a[href="mars2.html?a=crater_adventure"] > img[width="210"][height="120"] | <img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"> |
| /demo/mars/ | li:nth-child(8) > a[href="mars2.html?a=crater_adventure"] > img[width="210"][height="120"] | <img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"> |
| /demo/mars/ | li:nth-child(15) > a[href="mars2.html?a=crater_adventure"] > img[width="210"][height="120"] | <img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"> |
WCAG 1.4.1 Use of Color (Level A) what this means
Serious Links inside text are only distinguishable by color — 1 instance on 1 page
Who is affected: Color-blind shoppers cannot see which words are links.
How to fix: Underline links within paragraphs (or give them 3:1 contrast with surrounding text plus a non-color hover/focus cue).
axe rule link-in-text-block · technical details · WCAG 1.4.1
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | a[href="mars2.html?a=last_will"] | <a href="mars2.html?a=last_will">prepare your last will and testament</a> |
WCAG 1.4.3 Contrast (Minimum) (Level AA) what this means
Serious Text does not have enough contrast with its background — 6 instances on 1 page
Who is affected: Shoppers with low vision or color blindness, or anyone on a phone in sunlight, may not be able to read it.
How to fix: Make text darker (or background lighter) so normal text reaches a contrast ratio of at least 4.5:1 and large text 3:1. Check pairs with a contrast checker (e.g. WebAIM Contrast Checker).
Shopify / WooCommerce tip: Shopify: Online Store → Customize → Theme settings → Colors. WooCommerce: Appearance → Customize → Colors. Watch for grey "sale" prices, light placeholder text and text over banner images.
axe rule color-contrast · technical details · WCAG 1.4.3
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | a[href="mars2.html?a=be_bold"] > h3 | <h3>Be Bold...</h3> |
| /demo/mars/ | #vap-plan > p:nth-child(3) | <p>Step out of your comfort zone, and into a rocket with enough fuel to blast a Manhattan-sized crater if it explodes. But it won't. Probably.<br>
</p> |
| /demo/mars/ | a[href="mars2.html?a=countdown"] > h3 | <h3>Countdown...</h3> |
| /demo/mars/ | #vap-book > p:nth-child(3) | <p>If you're serious about traveling to Mars - really serious - then <a href="mars2.html?a=last_will">prepare your last will and testament</a>, and book a trip! </p> |
| /demo/mars/ | a[href="mars2.html?a=blast_off"] > h3 | <h3>Blast Off!</h3> |
| /demo/mars/ | #vap-travel > p:nth-child(3) | <p>Expect violent turbulence, bone-crushing g-forces, muscle atrophy, and certain death (hey, everyone's death is certain at some point, right?).<br>
</p> |
WCAG 2.4.4 Link Purpose (In Context) (Level A) what this means
Serious Links have no accessible name — 8 instances on 1 page
Who is affected: Screen-reader users hear "link" with no destination — common for image or icon links (logo, social icons).
How to fix: Put descriptive text inside the link, or add aria-label (e.g. aria-label="Instagram"). For image links, give the image meaningful alt text.
Shopify / WooCommerce tip: Check social-media icons in the footer and product-card image links. Theme settings sometimes have a "label" field; otherwise edit the theme code.
axe rule link-name · technical details · WCAG 2.4.4, 4.1.2
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | .link[href$="mars/#"] | <a class="link" href="/demo/mars/#"><i class="icon-menu-home"></i></a> |
| /demo/mars/ | li:nth-child(1) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | li:nth-child(8) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | li:nth-child(15) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | .re_ajax_p3 > a[href="mars2.html?a="] | <a href="mars2.html?a="></a> |
| /demo/mars/ | .active | <a target="player" data-text="Life was possible on Mars" class="fader first active" href="http://www.youtube.com/embed/OagLGti_hTE?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
| /demo/mars/ | a[data-text="Why Mars died"] | <a target="player" data-text="Why Mars died" class="fader first" href="http://www.youtube.com/embed/oC31pqk9sak?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
| /demo/mars/ | a[data-text="The world that never was"] | <a target="player" data-text="The world that never was" class="fader first" href="http://www.youtube.com/embed/JgMXPXdqJn8?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
WCAG 2.5.8 Target Size (Minimum) (Level AA) what this means
Serious Tap targets are too small or too close together — 31 instances on 1 page
Who is affected: Shoppers with tremors or large fingers on phones tap the wrong thing (quantity buttons, swatches, carousel dots).
How to fix: Make clickable targets at least 24×24 CSS pixels, or leave enough spacing around small ones.
Shopify / WooCommerce tip: Check color/size swatches, carousel dots, quantity +/- buttons and footer social icons in your theme CSS.
axe rule target-size · technical details · WCAG 2.5.8
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | .loginnow > .container-fluid-full > .container > .span5.pull-left.left-first > .pull-left:nth-child(2) > form[method="get"][action="/demo/mars/mars2"] > .search[name="query"][placeholder="search"] | <input type="text" class="search" name="query" placeholder="search"> |
| /demo/mars/ | .loginnow > .container-fluid-full > .container > .span5.pull-left.left-first > .pull-left:nth-child(2) > form[method="get"][action="/demo/mars/mars2"] > .control-search[type="submit"] | <input type="submit" class="control-search"> |
| /demo/mars/ | .departure-date > .ui-datepicker-trigger:nth-child(3) | <button type="button" class="ui-datepicker-trigger"><img src="/assets/demo-sites/mars/images/calendar.png" alt="..." title="..."></button> |
| /demo/mars/ | #footer-book > ul > li:nth-child(1) > a | <a href="mars2.html?a=fares_and_schedules">Find Fares & Schedules<br>
</a> |
| /demo/mars/ | a[href="mars2.html?a=find_mars_passes"] | <a href="mars2.html?a=find_mars_passes">Find Mars Passes</a> |
| /demo/mars/ | a[href="mars2.html?a=find_activities"] | <a href="mars2.html?a=find_activities">Find Activities</a> |
| /demo/mars/ | a[href="mars2.html?a=book_reservations"] | <a href="mars2.html?a=book_reservations">Book Reservations</a> |
| /demo/mars/ | #footer-book > ul > li:nth-child(5) > a | <a href="mars2.html?a=view_rocket_pass_listing">View Rocket Pass Listing<br>
</a> |
| /demo/mars/ | a[href="mars2.html?a=marstar"] | <a href="mars2.html?a=marstar">MarsStar</a> |
| /demo/mars/ | a[href="mars2.html?a=blast_off_uranus"] | <a href="mars2.html?a=blast_off_uranus">Blast off Uranus</a> |
| /demo/mars/ | a[href="mars2.html?a=red_planet_janet"] | <a href="mars2.html?a=red_planet_janet">Red Planet Janet</a> |
| /demo/mars/ | a[href="mars2.html?a=the_martianic"] | <a href="mars2.html?a=the_martianic">The Martianic</a> |
| /demo/mars/ | a[href="mars2.html?a=hal"] | <a href="mars2.html?a=hal">Hal</a> |
| /demo/mars/ | a[href="mars2.html?a=polar_cap_pass"] | <a href="mars2.html?a=polar_cap_pass">Polar Cap Pass</a> |
| /demo/mars/ | #footer-passes > ul > li:nth-child(2) > a | <a href="mars2.html?a=greater_crater_pass">Greater Crater Pass</a> |
+ 16 more instances of this issue not listed (fixing the shared template usually fixes them all).
WCAG 3.1.1 Language of Page (Level A) what this means
Serious The page does not declare its language — 1 instance on 1 page
Who is affected: Screen readers may read the page with the wrong pronunciation.
How to fix: Add lang="en" (or the right language) to the <html> element.
Shopify / WooCommerce tip: Shopify themes set this automatically from the store language — check theme.liquid for <html lang="{{ request.locale.iso_code }}">.
axe rule html-has-lang · technical details · WCAG 3.1.1
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | html | <html class=" js no-flexbox flexb..."> |
WCAG 4.1.2 Name, Role, Value (Level A) what this means
Critical Drop-down menus have no label — 2 instances on 1 page
Who is affected: Screen-reader users do not know what the drop-down is for (e.g. size, variant, sort order, country).
How to fix: Add a <label for="…"> or aria-label to each <select>.
Shopify / WooCommerce tip: Common on product variant pickers and collection "Sort by" drop-downs.
axe rule select-name · technical details · WCAG 4.1.2
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | #time0 | <select name="time0" id="time0" class="select-time" tabindex="4"> |
| /demo/mars/ | #passenger0 > .age-range.wrapper > .traveler-type | <select id="traveler0" class="traveler-type">
<option value="0">Adult (26+)</option>
<option value="1">Youth (12-25)</option>
<option value="2">Child (4-11)</option>
<option value="3">Senior (60+)</option>
</select> |
Critical Buttons have no accessible name — 1 instance on 1 page
Who is affected: Screen-reader and voice-control users cannot tell what the button does (often icon-only buttons like cart, close, menu, quantity +/−).
How to fix: Give each button visible text, or an aria-label such as aria-label="Open cart" / "Close" / "Increase quantity".
Shopify / WooCommerce tip: Usually in theme code (header icons, drawers, sliders). Shopify: Online Store → Themes → Edit code (or ask your theme developer). Many free themes (e.g. Dawn) already fix this in newer versions — update your theme.
axe rule button-name · technical details · WCAG 4.1.2
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | .departure-date > .ui-datepicker-trigger:nth-child(4) | <button class="ui-datepicker-trigger" type="button">
<!-- <img title="..." alt="..." src="/redesign/assets/demo-sites/mars/images/calendar.png"> -->
</button> |
Serious Links have no accessible name — 8 instances on 1 page
Who is affected: Screen-reader users hear "link" with no destination — common for image or icon links (logo, social icons).
How to fix: Put descriptive text inside the link, or add aria-label (e.g. aria-label="Instagram"). For image links, give the image meaningful alt text.
Shopify / WooCommerce tip: Check social-media icons in the footer and product-card image links. Theme settings sometimes have a "label" field; otherwise edit the theme code.
axe rule link-name · technical details · WCAG 2.4.4, 4.1.2
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | .link[href$="mars/#"] | <a class="link" href="/demo/mars/#"><i class="icon-menu-home"></i></a> |
| /demo/mars/ | li:nth-child(1) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | li:nth-child(8) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | li:nth-child(15) > a[href="mars2.html?a=crater_adventure"] | <a href="mars2.html?a=crater_adventure">
<img src="/assets/demo-sites/mars/images/mars-spaceman.jpg" class="" width="210" height="120"></a> |
| /demo/mars/ | .re_ajax_p3 > a[href="mars2.html?a="] | <a href="mars2.html?a="></a> |
| /demo/mars/ | .active | <a target="player" data-text="Life was possible on Mars" class="fader first active" href="http://www.youtube.com/embed/OagLGti_hTE?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
| /demo/mars/ | a[data-text="Why Mars died"] | <a target="player" data-text="Why Mars died" class="fader first" href="http://www.youtube.com/embed/oC31pqk9sak?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
| /demo/mars/ | a[data-text="The world that never was"] | <a target="player" data-text="The world that never was" class="fader first" href="http://www.youtube.com/embed/JgMXPXdqJn8?controls=1&showinfo=1&modestbranding=0&wmode=opaque&enablejsapi=1" id="default"></a> |
Serious Embedded frames have no title — 1 instance on 1 page
Who is affected: Screen-reader users do not know what the frame contains (videos, maps, chat widgets, reviews).
How to fix: Add a title attribute to every <iframe>, e.g. title="Product video".
Shopify / WooCommerce tip: Often third-party apps (reviews, chat, video). Check the app settings or ask the app vendor.
axe rule frame-title · technical details · WCAG 4.1.2
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | #fafbba78 | <iframe id="fafbba78" name="f2bc5e72d" scrolling="no" style="border: none; overflow: hidden; height: 62px; width: 292px;" class="fb_ltr" src="/assets/demo-sites/mars/js/likebox.html"></iframe> |
Best practices (not WCAG requirements)
Best practice Serious Elements force a custom keyboard order (tabindex > 0) — 4 instances on 1 page
Who is affected: Keyboard users jump around the page unpredictably.
How to fix: Use tabindex="0" or "-1" only; order focus via the DOM order.
axe rule tabindex · technical details
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | #from0 | <input type="text" value="" class="city-input ac_input ui-autocomplete-input" autocomplete="off" id="from0" name="from0" tabindex="1" role="textbox" aria-autocomplete="list" aria-haspopup="true"> |
| /demo/mars/ | #to0 | <input type="text" value="" class="city-input ac_input ui-autocomplete-input" autocomplete="off" id="to0" name="to0" tabindex="1" role="textbox" aria-autocomplete="list" aria-haspopup="true"> |
| /demo/mars/ | #deptDate0 | <input size="10" id="deptDate0" name="deptDate0" placeholder="mm/dd/yyyy" value="" tabindex="3" class="hasDatepicker input-dept"> |
| /demo/mars/ | #time0 | <select name="time0" id="time0" class="select-time" tabindex="4"> |
Best practice Moderate Some content is outside of page landmarks — 35 instances on 1 page
Who is affected: Screen-reader users navigating by landmarks can miss this content.
How to fix: Place all visible content inside landmarks: <header>, <nav>, <main>, <footer> (announcement bars and pop-ups included).
Shopify / WooCommerce tip: Announcement bars, cookie banners and app widgets are frequent offenders.
axe rule region · technical details
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | body > div:nth-child(1) | <div style="width: 1px; height: 1px; display: inline;"> |
| /demo/mars/ | #purposeDisclaimer | <div id="purposeDisclaimer">This web page is for demonstration purposes, to show common accessibility errors.</div> |
| /demo/mars/ | .loginnow > .container-fluid-full > .container > .span5.pull-left.left-first > .pull-left:nth-child(2) > form[method="get"][action="/demo/mars/mars2"] > .search[name="query"][placeholder="search"] | <input type="text" class="search" name="query" placeholder="search"> |
| /demo/mars/ | #left-column | <div class="span7 left-first pull-left" id="left-column"> |
| /demo/mars/ | #widget-controls | <div id="widget-controls" class="widget-container head"> |
| /demo/mars/ | #route-select > .interior-container > h3 | <h3>Book your Trip</h3> |
| /demo/mars/ | #route-type-radio-group | <div id="route-type-radio-group" class=""> |
| /demo/mars/ | .departure-city | <span class="wrapper departure-city"> |
| /demo/mars/ | .arrival-city | <span class="wrapper arrival-city"> |
| /demo/mars/ | label[for="deptDate0"] | <label for="deptDate0">Departure Date</label> |
| /demo/mars/ | #deptDate0 | <input size="10" id="deptDate0" name="deptDate0" placeholder="mm/dd/yyyy" value="" tabindex="3" class="hasDatepicker input-dept"> |
| /demo/mars/ | .time | <span class="wrapper time"> |
| /demo/mars/ | .add-leg-width.add-trip.add-buttons | <span class="add-buttons wrapper add-trip add-leg-width">
<a class="add-leg"><span class="icon"></span> Add Another Trip</a>
</span> |
| /demo/mars/ | #pass-question-radio-group | <div id="pass-question-radio-group" class=""> |
| /demo/mars/ | .middle.widget-container:nth-child(13) > .interior-container > h3 | <h3>Who Is Traveling?</h3> |
+ 20 more instances of this issue not listed (fixing the shared template usually fixes them all).
Best practice Moderate The page has no main landmark — 1 instance on 1 page
Who is affected: Screen-reader users cannot jump to the main content.
How to fix: Wrap the primary content in a single <main> element.
axe rule landmark-one-main · technical details
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | html | <html class=" js no-flexbox flexb..."> |
Best practice Moderate Several landmarks have the same name — 1 instance on 1 page
Who is affected: Screen-reader users cannot tell them apart (e.g. two navs both called "navigation").
How to fix: Give repeated landmarks unique aria-labels, e.g. aria-label="Main menu" and aria-label="Footer menu".
axe rule landmark-unique · technical details
| Page | Element (CSS selector) | HTML snippet |
|---|---|---|
| /demo/mars/ | .loginnow > .container-fluid-full > .container > .span5.pull-left.left-first > .pull-left:nth-child(1) | <nav id="left-control-nav" class="pull-left"> |
What an automated scan cannot check (do these by hand)
- Keyboard only: unplug the mouse and Tab through home → product → add to cart → cart → checkout. Can you see where focus is at every step? Can you open/close menus, drawers and pop-ups and choose variants?
- Screen reader: try VoiceOver (Mac/iPhone, Cmd+F5) or NVDA (free, Windows) on a product page. Are the product name, price, variant choices and "Add to cart" announced clearly?
- Alt text quality: automated tools only check that alt text exists, not that it is accurate. Do product images describe color, style and key details?
- Zoom to 200% and 400% on desktop, and use a phone: does anything get cut off or overlap?
- Videos: are captions accurate? Is there a pause button for auto-playing carousels and videos?
- Forms and errors: submit the newsletter/contact form empty. Is the error message announced and does it say how to fix it?
- Third-party apps (reviews, chat, pop-ups, cookie banners, loyalty widgets): test them the same way — they are a common source of barriers.
- Checkout: on Shopify the checkout is hosted by Shopify; on WooCommerce it is part of your theme/plugins and should be tested too.
Pages scanned
| URL | Page title | Issue instances |
|---|---|---|
https://dequeuniversity.com/demo/mars/ | Mars Commuter: Travel to Mars for Work or Pleasure! | 96 |
Method
Pages were loaded in headless Chromium (desktop viewport 1280×900) identifying as "a11y.bytkit.com scanner", respecting robots.txt, and tested with the open-source axe-core engine (tags wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa, best-practice). Only public pages reachable from the start URL were scanned; pages behind logins and the checkout were not. Results reflect the pages at the time of the scan. WCAG criteria names: W3C WCAG 2.2 (60 criteria referenced).