wick-ag-lens

WICK-AG-Lens: Accessibility Inspector

WICK-AG-Lens is a professional visual accessibility inspector for Web Developers and QA. It operates as a Chrome browser extension that generates visual overlays on elements to indicate accessibility violations, maps structural information, and provides a rigorous engine to simulate visual impairments directly within your page layout. Designed for modern web applications, it features a real-time sync engine that automatically re-audits the page when new elements are injected or made visible, seamlessly handling Single Page Application (SPA) routing and navigation without requiring a manual refresh. Also includes a simulation Mode and a PDF Gatekeeper Auditing engine.

You can install WICK-AG-Lens from the Chrome Web Store: Install Here.

  WICK-AG-Lens: Accessibility Inspector overview features  

Table of Contents

  1. Features Overview
  2. Installation
  3. Core Features & Usage
  4. Audit Library & Ruleset
  5. Search Predicates and Logic Definitions
  6. Disability Simulation Engine (Logic & Assumptions)
  7. PDF Accessibility Engine (Logic & Assumptions)
  8. Limitations & Technical Bounds
  9. Compatibility
  10. License
  11. Contributing
  12. Development & Testing Sites
  13. Changelog

Features Overview

WICK-AG-Lens is built for developers and QA engineers. It runs static analysis against the DOM and computed CSS styles to highlight accessibility patterns, while also offering dynamic rendering filters to simulate specific user conditions and a binary scanner for PDF documents.

Installation

Installing WICK-AG-Lens takes just a few clicks from the official Chrome Web Store.

  1. Navigate to the WICK-AG-Lens page on the Chrome Web Store.
  2. Click the Add to Chrome button located in the top right corner of the page.
  3. A confirmation browser dialog will appear. Click Add extension to grant the necessary permissions for the tool to inspect pages.
  4. You will receive a message saying WICK-AG-Lens has been added to Chrome.
  5. Once installed, open your Chrome Developer Tools (F12 or Ctrl+Shift+I on Windows/Linux, Cmd+Option+I on Mac).
  6. Locate the WICK-AG-Lens tab in the top navigation bar of the DevTools panel. Note: You may need to click the >> icon if your DevTools window is narrow.

Core Features & Usage

1. WCAG Filtering & Audit Controls (Inspect Mode)

The inspector categorizes 55 heuristic rulesets across two primary tabs: Violations & Warnings (actionable failures) and Informative & Structure (valid page architecture and semantic patterns).

WCAG Criteria Filtering, Master Toggles, and Inline Info

2. Disability Simulation Engine (Simulate Mode)

Switch from the standard “Inspect Mode” into “Simulate Mode” using the top header toggle to visually alter the host page, allowing developers to experience structural boundaries and contrast failures firsthand.

Color Blindness:

Disability Simulation Engine

Impaired Vision:

Disability Simulation Engine

3. PDF Gatekeeper Auditing (PDF Mode)

Analyze raw PDF binary streams directly in the browser. Since Chrome’s native PDF viewer is securely isolated and cannot be visually overlaid, this mode programmatically inspects the Document Catalog and Metadata dictionaries via an ArrayBuffer stream.

PDF Gatekeeper Auditing:

PDF Analysis Engine

Impaired Vision:

Technical Details and Remediation

4. Interactive Info Panels & Code Previews

Clicking on any highlighted badge directly on the page summons a detailed DevTools-style toast notification. This panel provides immediate context for the audit, explaining what was flagged, why it creates a barrier for users, and how to fix it (utilizing clean, collapsible native HTML accordions to keep the UI compact and prevent screen clutter).

Crucially, the panel extracts a clean, extension-sanitized HTML Snippet of the target element, styled with VS Code dark-theme syntax highlighting, alongside the precise CSS Selector. Dedicated “Copy” buttons (📋) allow you to instantly grab the code or selector for bug reports without opening the native Elements panel.

Interactive Info Panel with HTML Snippet Preview

5. View Elements List & Precision Locator

For audits that return multiple findings, clicking the “View Elements” (list icon) button inside the DevTools panel opens a comprehensive details modal displaying a hierarchically sorted list of every flagged element.

View Elements List and Locator Modal

6. Comprehensive Tab Reporting

To streamline QA ticketing, WICK-AG-Lens features a global clipboard export function. Clicking the clipboard icon (📋) at the top of either the Violations or Informative tabs generates a fully formatted text report of your current analysis.

One-Click Clipboard Reporting Output

7. Real-Time SPA & Dynamic DOM Sync

WICK-AG-Lens features a Dual-Debounce MutationObserver to handle modern Single Page Applications (React, Vue, Angular) and dynamic content seamlessly.

Real-Time SPA Sync automatically highlighting a newly opened dropdown

8. X-Ray Vision for Clipped Elements

When elements are pushed off-screen or hidden inside overflow: hidden containers (like carousel slides or scrollable panels), the extension detects their clipping bounds. Instead of ignoring them or drawing misleading boxes, WICK-AG-Lens renders these hidden elements using a specialized “X-Ray” ghosted hatched pattern. This allows auditors to visualize the exact footprint of hidden interactive elements and invisible focus traps without breaking the page layout.

X-Ray Vision highlighting clipped carousel elements

9. Embedded Offline Documentation

Accessibility auditing shouldn’t require constantly hunting for internet resources. WICK-AG-Lens includes a fully embedded, offline-ready reference guide. Clicking the book icon in the extension header opens a comprehensive modal detailing every single rule, its WCAG mapping, technical limitations, and precise heuristic logic, ensuring your QA team always has context at their fingertips.

Embedded Offline Documentation

10. Native Dark Mode Support

The extension’s DevTools panel fully respects your system and browser theme preferences, automatically switching between light and dark modes. It utilizes strictly WCAG 2.2 AAA compliant color contrast variables across both themes, ensuring that the auditing tool itself is accessible and easy on the eyes during long debugging sessions.

Audit Library & Ruleset

The following details the complete list of heuristic evaluations performed by the inspector, their classification, standard outputs, and the corresponding W3C WCAG guidelines.


Tab 1: Violations & Warnings

Structure & Document

Audit Classification Badge Output WCAG Criteria Logic
Document Title Critical "Missing Document Title" 2.4.2 (A) View
Page Encoding Moderate Encoding: {val} 1.3.1 (A) View
Auto-playing Media Serious "Autoplay Media" 1.4.2 (A) View
Heading Hierarchy Errors Moderate "{TAG} (Skipped)" or "Fake Heading" 1.3.1 (A) View

Images & Media

Audit Classification Badge Output WCAG Criteria Logic
Inaccessible SVGs Critical "Inaccessible SVG" 1.1.1 (A) View
Missing Alt Text Critical "Missing alt" or "Tracking Pixel" 1.1.1 (A) View
Uncaptioned Video Critical "<video> (No Captions)" 1.2.2 (A) View
Redundant Alt Text Minor Redundant alt: "{text}" 1.1.1 (A) View
Audit Classification Badge Output WCAG Criteria Logic
Empty Links Critical "Empty Link" 2.4.4 (A) View
Suspicious Link Targets Critical / Serious "Fake Button (JS)" or "Fake Button (#)" 4.1.2 (A) View
Generic Link Text Moderate Generic link: "{text}" 2.4.4 (A) View
Unwarned New Window Links Moderate 'target="_blank" (No Warning)' 3.2.5 (AAA) View

Forms & Controls

Audit Classification Badge Output WCAG Criteria Logic
Unlabeled Form Inputs Critical "Unlabeled Input" 3.3.2 (A) View
Empty Buttons Critical "Empty Button" 4.1.2 (A) View
Placeholder as Label Serious "Placeholder as Label" 4.1.2 (A) View
Invalid Autocomplete Moderate Invalid autocomplete="{val}" 1.3.5 (AA) View

Keyboard Navigation

Audit Classification Badge Output WCAG Criteria Logic
Unfocusable Clickables Critical "Unfocusable Clickable" 2.1.1 (A) View
Tabindex Violations Serious tabindex="{val}" 2.4.3 (A) View
Accesskey Attributes Moderate accesskey="{val}" 2.1.4 (A) View
Disabled Focus Outlines (Heuristic) Manual "Manual Check: Focus Ring" 2.4.7 (AA) View

ARIA Names (Errors)

Audit Classification Badge Output WCAG Criteria Logic
Prohibited Author Names Serious Prohibited name on role="{role}" 4.1.2 (A) View
Label in Name Mismatch Serious "Mismatch: "{txt}" != "{aria}"" 2.5.3 (A) View
Duplicate ID Attributes Critical Duplicate ID: "{id}" ({v} vis, {h} hid) or [Hidden] 1.3.1 (A) View
Broken ARIA References Critical Broken Ref: {attr}="{id}" 1.3.1 (A) View

ARIA States (Errors)

Audit Classification Badge Output WCAG Criteria Logic
Focusable in Aria-Hidden Critical "aria-hidden (Focusable)" 4.1.2 (A) View
Invalid ARIA State Serious 'aria-invalid="true"' 3.3.1 (A) View

Visual & Contrast

Audit Classification Badge Output WCAG Criteria Logic
Text Color Contrast Critical AA Fail, AAA Fail, Manual Check 1.4.3 (AA), 1.4.6 (AAA) View

Tab 2: Informative & Structure

Structure & Document

Audit Classification Badge Output WCAG Criteria Logic
Valid Heading Order Informative <{tag}> 1.3.1 (A) View
Landmark Regions Informative <{role or tag}> 2.4.1 (A) View
Table & Grid Structure Informative <{tag}> or role="{role}" 1.3.1 (A) View
Lists and List Items Informative <{tag}> 1.3.1 (A) View
Language Definitions Informative "Missing Root Lang", Root lang="{val}", or lang="{val}" 3.1.1 (A) View

Images & Media

Audit Classification Badge Output WCAG Criteria Logic
Display Image Alternatives Informative alt="{val}", alt="", "Missing alt", or "[Pixel] ..." 1.1.1 (A) View
Captioned Video Informative "<video> (Captioned)" 1.2.2 (A) View
Iframe Context & Titles Informative title="{title}", "Hidden Iframe" 4.1.2 (A) View
Audit Classification Badge Output WCAG Criteria Logic
Warned New Window Links Informative 'target="_blank" (Warned)' 3.2.5 (AAA) View

Forms & Controls

Audit Classification Badge Output WCAG Criteria Logic
Fieldsets & Captions Informative <{tag}> 1.3.1 (A) View
Touch Target Sizes Informative {width}x{height}px 2.5.8 (AA) View
Read-Only Fields Informative "readonly" 1.3.1 (A) View

Keyboard Navigation

Audit Classification Badge Output WCAG Criteria Logic
Tabindex (Comparison) Informative tabindex="{val}" 2.4.3 (A) View
Display Focus Order Informative #{num}: <{tag}> 2.4.3 (A) View

ARIA Roles (Identity)

Audit Classification Badge Output WCAG Criteria Logic
ARIA Roles & Attributes Informative role="{val}" 4.1.2 (A) View
Aria-Roledescription Informative roledescription="{val}" 4.1.2 (A) View

ARIA Names & Relationships

Audit Classification Badge Output WCAG Criteria Logic
Accessible Name Resolution Informative "[id] {name}", "[aria] {name}", "[text] {name}", or "Missing Name" 4.1.2 (A) View
Form Field Descriptions Informative "aria-describedby" or "title" 3.3.2 (A) View
Aria-Details Informative "aria-details" 4.1.2 (A) View
Aria-Controls Informative "aria-controls" 4.1.2 (A) View
Aria-Owns Informative "aria-owns" 4.1.2 (A) View
List Set & Position Informative "Item X of Y" 1.3.1 (A) View

ARIA States (Conditions)

Audit Classification Badge Output WCAG Criteria Logic
ARIA Live Regions Informative aria-live="{val}" 4.1.3 (AA) View
Required Fields Informative "required" or 'aria-required="true"' 3.3.1 (A) View
Aria-Expanded State Informative aria-expanded="{val}" 4.1.2 (A) View
Aria-Pressed State Informative aria-pressed="{val}" 4.1.2 (A) View
Aria-Value Properties Informative value="{val}" 4.1.2 (A) View
Aria-Haspopup Informative haspopup="{val}" 4.1.2 (A) View

Search Predicates and Logic Definitions

Elements hidden via CSS parameters like display: none or visibility: hidden, or by using the HTML inert attribute, are excluded by the global DOM processing logic before the specific audits run.

DOM Traversal: The extension utilizes a custom deep querySelectorAll function combined with bottom-up ancestor mapping. This allows the scanner to properly pierce standard (open) Shadow DOM boundaries and fully traverse the internal DOM of same-origin iframes, guaranteeing accurate visibility tracking across complex widget architectures.

Self-Auditing Guard: The injected extension UI elements (like the overlay boxes and the information toast panels) are specifically excluded from audits to prevent false positives.

Tab 1: Violations & Warnings

Tab 2: Informative & Structure

Disability Simulation Engine (Logic & Assumptions)

The Simulate Mode provides an empathetic heuristic overlay to help developers identify critical contrast and layout barriers by simulating severe visual impairments directly in the DOM. These modules map to documented mathematical approximations rather than applying arbitrary color tints.

Color Vision Deficiencies (CVD)

Impaired Vision Physiology

PDF Accessibility Engine (Logic & Assumptions)

The PDF Mode provides a programmatic structural verification of essential PDF/UA and WCAG gatekeeper indicators directly from the active binary stream.

Limitations & Technical Bounds

Inspect Mode

Simulate Mode

PDF Mode

Compatibility

License

WICK-AG-Lens is available under the MIT License. Reference the LICENSE.md file for standard permissions and limitations.

Contributing

First off, thanks for taking the time to contribute!

To contribute, please follow the process described in CONTRIBUTING.md

And if you like the project but just don’t have the time to contribute, that’s fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:

Buy Me A Coffee

Thank you for your support!

Development & Testing Sites

The following deliberately inaccessible and accessible demonstration websites were utilized extensively during the development and testing of WICK-AG-Lens to verify the accuracy of the heuristic audits:

Changelog

v2.5.0: The Structural Expansion, DOM Integrity, & PDF Update

v2.4.2: Adjusting some other permissions

v2.4.1: Adjusting permissions

v2.4.0: The Simulation Update

v2.3.0: The Real-Time SPA Update

v2.2.0: The Architecture & UX Update

v2.1.0

v2.0.0

v1.0.0