Accessibility audit — September 14, 2026
A dated assessment of the Labucq “Accessibility + Audit - Sep 14” theme, release 145278861546. The storefront was tested in its unpublished preview; the reviews archive and Shopify-hosted checkout were tested separately as described below. This report records that release at the time of testing, rather than certifying all future site content.
Test snapshot completed: September 14, 2026 at 2:09 PM PDT. Automated storefront checks: no confirmed axe violations in 47 sampled page states. Keyboard and browser accessibility-tree checks: 18 passed. Shopify-hosted checkout: 2 target-size findings remain open.
What was tested
Pa11y 9.0.1 with HTML CodeSniffer 2.5.1 and axe-core 4.10.3, using WCAG 2.0 AA rules. Additional direct axe checks included supported WCAG 2.1 AA, WCAG 2.2 AA, and best-practice rules. Testing used Chromium with 1440 × 900 desktop and 390 × 844 mobile layouts, plus product-page reflow checks at widths 320, 390, 768, 1024, and 1440 pixels.
- Homepage; Shop All, Boots, and Clogs collections; Joan, Janis, Fusion, and Harvey products; About, Quality, FAQ, Shipping and Returns, Contact, Accessibility, Stockists, and this report.
- Empty and populated cart, search results and no-results search, mobile menus and submenus, product-photo zoom, fit-video dialog, size guide, shipping information, review search and sort, restock dialog, cart drawer, and newsletter popup.
- The public labucqreviews.com archive and Joan style page, including a mobile table layout. The external archive used Pa11y’s axe runner and direct axe because HTML CodeSniffer could not initialize reliably there.
- A separate test cart was used to add Joan Black, size 38, and open the first Shopify checkout screen by keyboard. No identity, payment, signup, or order was submitted. The test cart was cleared afterward.
Shopify’s merchant-only preview toolbar was disabled with the documented pb=0 preview option. No customer-facing elements or accessibility rules were excluded to produce a pass. Browser keyboard events and accessibility-tree inspection are not a VoiceOver, NVDA, or JAWS session.
Fixes verified in this release
- Mobile menus and photo/video dialogs have accessible names, keyboard operation, focus containment, Escape support, and focus return.
- Product-photo zoom, editorial galleries, review-table scrolling, and carousel controls have usable keyboard access and labels. Informative images use available product/editorial descriptions, with product-name fallbacks where source descriptions are missing.
- Size-guide tables expose real column headers. Waitlist fields and dialogs have accessible names. Search has a visible submit control; three FAQ jump links now reach the corresponding sections.
- Active waitlist sizes have darker text; the announcement close button shows keyboard focus; newsletter close and FAQ targets have larger usable areas.
- White text on homepage photographs and craftsmanship captions has a 65% black backing. Its calculated minimum contrast is approximately 6.97:1 over a white image; the existing 80% hover opacity on the homepage link remains above 4.5:1. Images and text positions are retained. The founder name no longer repeatedly fades to unreadable colors.
- Product videos expose playback controls; reduced-motion preferences stop autoplay in the tested product states. Empty content headings, breadcrumb landmarks, and editorial heading levels were corrected.
Open findings and limits
- Shopify-hosted checkout: 2 help buttons were flagged by the WCAG 2.2 target-size check. “More information about how your contact info is used” and “More information about Phone” each measured 18 × 18 pixels with insufficient surrounding clearance. These controls belong to Shopify checkout and were not fixed by the storefront theme.
- Cross-origin YouTube players and embedded payment controls were not fully inspected internally. Caption accuracy, audio description, and equivalent content for the fit-note videos have not been established by this assessment.
- Joan and Janis gallery clips were confirmed to have no audio stream. The Fusion clip has an audio track whose decoded samples are silent. These findings resolve the spoken-audio caption question for those specific clips, but do not establish complete visual descriptions or cover every video on the site.
- Automated image-name checks do not establish the quality of every image description. Real screen-reader use, all product/content variations, all browser and device combinations, all checkout errors, and a completed purchase were outside this test scope.
How to read the scanner output
Pa11y’s raw storefront output contains 524 entries labelled error, 1078 warning entries, and 5784 notices. These are preserved in the full text below. They must not be interpreted as 524 confirmed defects: this Pa11y axe adapter also labels some incomplete checks as errors. The direct axe violations and incomplete results were therefore recorded separately. The raw severity labels were not edited.
- Photo contrast checks remain “incomplete” in axe because the background contains an image. The verified backing color and worst-case contrast calculation are recorded above.
- Closed native dialogs can produce an incomplete aria-controls check even when their target exists. The menu, reviews, and relevant dialog behavior were checked by opening, operating, and closing them.
- The external reviews table produces contrast checks for partially offscreen/obscured cells and short text. Those automated results remain inconclusive; no blanket manual contrast pass is claimed for every archive cell.
- Video-caption and cross-origin-frame checks require content or player review. An incomplete check is neither a pass nor a confirmed violation.
Results by page and state
| Page / state | Confirmed axe violations | Raw Pa11y errors | Incomplete axe rules |
|---|---|---|---|
| home-desktop | 0 | 11 | 1 |
| shop-all-desktop | 0 | 0 | 0 |
| boots-desktop | 0 | 0 | 0 |
| clogs-desktop | 0 | 0 | 0 |
| joan-desktop | 0 | 2 | 2 |
| janis-desktop | 0 | 2 | 2 |
| fusion-desktop | 0 | 1 | 1 |
| harvey-desktop | 0 | 0 | 0 |
| about-desktop | 0 | 0 | 0 |
| quality-desktop | 0 | 9 | 1 |
| faq-desktop | 0 | 0 | 0 |
| shipping-returns-desktop | 0 | 0 | 0 |
| contact-desktop | 0 | 0 | 0 |
| accessibility-desktop | 0 | 0 | 0 |
| stockists-desktop | 0 | 0 | 0 |
| cart-desktop | 0 | 0 | 0 |
| search-desktop | 0 | 0 | 0 |
| search-empty-desktop | 0 | 0 | 0 |
| audit-report-desktop | 0 | 0 | 0 |
| reviews-archive-desktop | 0 | 1 | 1 |
| reviews-joan-desktop | 0 | 1 | 1 |
| home-mobile | 0 | 12 | 2 |
| shop-all-mobile | 0 | 1 | 1 |
| joan-mobile | 0 | 3 | 2 |
| janis-mobile | 0 | 3 | 2 |
| cart-mobile | 0 | 1 | 1 |
| search-mobile | 0 | 1 | 1 |
| reviews-joan-mobile | 0 | 403 | 1 |
| accessibility-mobile | 0 | 1 | 1 |
| audit-report-mobile | 0 | 1 | 1 |
| reviews-open-desktop | 0 | 2 | 2 |
| size-guide-open-desktop | 0 | 2 | 2 |
| shipping-open-desktop | 0 | 2 | 2 |
| cart-drawer-open-desktop | 0 | 3 | 3 |
| waitlist-open-desktop | 0 | 2 | 2 |
| reviews-open-mobile | 0 | 4 | 3 |
| size-guide-open-mobile | 0 | 3 | 2 |
| shipping-open-mobile | 0 | 3 | 2 |
| cart-drawer-open-mobile | 0 | 3 | 2 |
| waitlist-open-mobile | 0 | 4 | 3 |
| search-open-desktop | 0 | 9 | 1 |
| menu-open-mobile | 0 | 10 | 2 |
| photo-zoom-open-desktop | 0 | 2 | 2 |
| newsletter-open-desktop | 0 | 9 | 1 |
| newsletter-open-mobile | 0 | 10 | 2 |
| fit-video-open-desktop | 0 | 3 | 3 |
| cart-populated-desktop | 0 | 0 | 0 |
Keyboard and behavior checks
- Mobile menu opens as a named native modal and traps keyboard focus — passed.
- Mobile submenu Shop By Size is keyboard operable and restores focus — passed.
- Mobile submenu About is keyboard operable and restores focus — passed.
- Mobile Escape closes and returns to Menu — passed.
- Size selection works with keyboard — passed.
- Size guide exposes real column headers and closes to trigger — passed.
- Reviews controls are named, searchable, sortable, and keyboard closable — passed.
- Waitlist dialog and email have accessible names; no signup submitted — passed.
- Product page reflows without page-level horizontal overflow — passed.
- Fit video link has a name, opens by keyboard, and restores focus on Escape — passed.
- Reduced motion pauses autoplay product videos and exposes playback controls — passed.
- Keyboard adds Joan Black size 38 to a separate cart and the cart exposes named controls — passed.
- Keyboard checkout handoff opens checkout without entering information or placing an order — passed.
- Primary product photos open with Enter, have image names, support arrow navigation, and return focus — passed.
- Mobile primary gallery is keyboard scrollable and videos have pause controls and names — passed.
- Header search submits using its visible keyboard-operable search button — passed.
- Photo-backed text has a verified contrast floor without moving the text — passed.
- FAQ jump links resolve to their matching section anchors — passed.
Full text and audit record
The downloadable text includes this report and the complete Pa11y issue list for the recorded states, with original severity, rule, selector, and message. HTML excerpts, customer text, session URLs, and internal file paths are omitted. This assessment is not a certification of WCAG conformance or a guarantee of accessibility.
Read or download the full audit text and scanner issue list
For help using the site, please contact Labucq. You can also return to our Accessibility page.