Metadata-Version: 2.4
Name: veduis-wcag-audit
Version: 1.0.0
Summary: Deterministic WCAG 2.2 Level AA accessibility linter and U.S. ADA Title II / Section 504 compliance deadline checker.
Author-email: Steven Richards <cody@veduis.com>, Veduis LLC <cody@veduis.com>
License-Expression: MIT
Project-URL: Homepage, https://veduis.com/products/vcompliance-scanner/
Project-URL: Documentation, https://veduis.com/blog/wcag-2-2-aa-checklist-requirements-changes/
Project-URL: Source, https://github.com/Veduis/wcag-compliance-mcp
Project-URL: Tracker, https://veduis.com/contact/
Project-URL: Zenodo_Research, https://doi.org/10.5281/zenodo.23829968
Project-URL: Hugging_Face, https://huggingface.co/datasets/VeduisWeb/wcag-2-2-html-fail-pass-pairs
Keywords: wcag,wcag-2-2,accessibility,a11y,ada,ada-title-ii,section-508,section-504,compliance,audit,axe-core
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# veduis-wcag-audit

[![PyPI version](https://img.shields.io/pypi/v/veduis-wcag-audit.svg)](https://pypi.org/project/veduis-wcag-audit/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.23829968.svg)](https://doi.org/10.5281/zenodo.23829968)

Zero-dependency Python CLI and module for auditing HTML against deterministic WCAG 2.2 Level AA criteria and querying statutory 2027-2028 U.S. ADA Title II and HHS Section 504 compliance deadlines.

Maintained by **[Veduis](https://veduis.com/)** as part of the **[vComplianceScanner](https://veduis.com/products/vcompliance-scanner/)** source-code auditing ecosystem.

---

## Why Deterministic Source Auditing Matters

JavaScript overlay widgets fail to protect commercial websites from serial ADA Title III litigation. Federal consent decrees and Department of Justice Title II final rules require verifiable conformance at the DOM and source code level.

`veduis-wcag-audit` provides zero-runtime-dependency static analysis based on empirical benchmarks published on [Zenodo (CERN)](https://doi.org/10.5281/zenodo.23829968) and [Hugging Face](https://huggingface.co/datasets/VeduisWeb/wcag-2-2-html-fail-pass-pairs).

---

## Installation

```bash
pip install veduis-wcag-audit
```

---

## Command Line Usage

### 1. Audit Local HTML File or Snippet

```bash
# Audit an HTML file
veduis-wcag-audit index.html

# Audit HTML piped from stdin
curl -s https://example.com | veduis-wcag-audit -
```

### 2. Query Regulatory Deadlines (ADA Title II & HHS Section 504)

```bash
veduis-wcag-audit --deadlines
```

Output includes statutory enforcement dates:
- **April 24, 2026:** DOJ Title II Web Accessibility Rule publication baseline.
- **April 24, 2027:** Mandatory compliance deadline for public entities with 50,000+ population (DOJ Title II).
- **May 11, 2027:** Mandatory compliance deadline for HHS-funded recipients with 15+ employees (HHS Section 504).
- **April 26, 2028:** Mandatory compliance deadline for small public entities under 50,000 population.
- **May 11, 2028:** Mandatory compliance deadline for small HHS recipients under 15 employees.
- **Immediate:** Private commercial businesses under Title III (no regulatory grace period).

### 3. Query WCAG 2.2 Success Criteria

```bash
# List all 87 WCAG 2.2 criteria
veduis-wcag-audit --criteria

# Search criteria by keyword
veduis-wcag-audit --search "contrast"
```

---

## Python API Usage

```python
from veduis_wcag_audit import audit_html, get_deadlines

# Audit an HTML string
html_doc = """
<!DOCTYPE html>
<html>
<head><title>Test Page</title></head>
<body>
  <img src="chart.png">
  <a href="/target"></a>
  <input type="text" name="email">
</body>
</html>
"""

report = audit_html(html_doc)
print(f"Passed: {report.passed} | Violations: {len(report.violations)}")
for issue in report.violations:
    print(f"[{issue.rule_id}] {issue.criterion}: {issue.message}")
    print(f"Remediation: {issue.remediation}\n")

# Get regulatory dates
deadlines = get_deadlines()
for deadline in deadlines:
    print(f"{deadline.date}: {deadline.title} ({deadline.framework})")
```

---

## Audited Heuristic Rules

`veduis-wcag-audit` evaluates 12 deterministic accessibility checks:

1. `wcag-1-1-1-img-alt`: Image missing alternative text attribute (`WCAG 1.1.1 Non-text Content`).
2. `wcag-1-1-1-alt-quality`: Image alt attribute uses placeholder text like "image", "photo", or file extension.
3. `wcag-1-3-1-empty-heading`: Empty heading tags (`h1`-`h6`) with no accessible text.
4. `wcag-1-3-1-skipped-heading`: Heading hierarchy skips sequential levels (e.g. `h1` directly to `h3`).
5. `wcag-2-4-2-missing-title`: Document `<head>` missing non-empty `<title>` element.
6. `wcag-2-4-4-empty-link`: Hyperlinks with empty text, missing `aria-label`, or no accessible children.
7. `wcag-2-4-4-ambiguous-anchor`: Ambiguous link text like "click here", "read more", or "link".
8. `wcag-3-1-1-html-lang`: Root `<html>` element missing valid `lang` attribute.
9. `wcag-4-1-2-input-missing-label`: Form controls (`input`, `select`, `textarea`) lacking associated `<label>`, `aria-label`, or `aria-labelledby`.
10. `wcag-1-4-4-zoom-blocked`: `<meta name="viewport">` with `user-scalable=no` or `maximum-scale<2.0`.
11. `wcag-4-1-2-button-accessible-name`: `<button>` element lacking accessible text or aria-label.
12. `wcag-2-5-8-target-size`: Inline interactive targets flagged for touch target sizing checks.

---

## Provenance & Citations

All rules and fail/pass evaluation pairs are backed by peer-reviewed research and open datasets:

* **DOIs:** [10.5281/zenodo.23829968](https://doi.org/10.5281/zenodo.23829968), [10.5281/zenodo.23781867](https://doi.org/10.5281/zenodo.23781867)
* **Hugging Face Hub:** [VeduisWeb/wcag-2-2-html-fail-pass-pairs](https://huggingface.co/datasets/VeduisWeb/wcag-2-2-html-fail-pass-pairs)
* **Technical Documentation & Remediation Guides:** [Veduis Compliance Engineering](https://veduis.com/blog/wcag-2-2-aa-checklist-requirements-changes/)
* **Commercial Enterprise Scanning & VPAT Generation:** [vComplianceScanner](https://veduis.com/products/vcompliance-scanner/)

---

## License

MIT License. Copyright (c) Veduis LLC.
