|
1 | | -# daily-dap |
2 | | -A daily scan of the Digital Accessibility Program |
| 1 | +# Daily DAP Quality Benchmarking |
| 2 | + |
| 3 | +Daily DAP benchmarks the quality and accessibility of the most visited U.S. government pages. |
| 4 | +It prioritizes high-traffic pages because regressions on those pages affect the most people seeking public services. |
| 5 | + |
| 6 | +## Why this project exists |
| 7 | + |
| 8 | +Public-facing government websites are critical infrastructure. When heavily used pages have accessibility, |
| 9 | +performance, or usability issues, impact is broad and immediate. |
| 10 | + |
| 11 | +This project provides a daily, repeatable quality signal by: |
| 12 | + |
| 13 | +- pulling top pages from DAP traffic data, |
| 14 | +- scanning those pages with Lighthouse and ScanGov, |
| 15 | +- aggregating quality and impact metrics, |
| 16 | +- publishing dated static reports and trend history. |
| 17 | + |
| 18 | +## DAP and related resources |
| 19 | + |
| 20 | +- Digital Analytics Program (DAP): https://digital.gov/guides/dap/ |
| 21 | +- Analytics.USA.gov overview: https://analytics.usa.gov/ |
| 22 | +- DAP data endpoint configured in this repo: `src/config/prevalence.yaml` |
| 23 | +- ScanGov (accessibility scanner): https://github.com/GSA/scan-gov |
| 24 | +- Lighthouse: https://developer.chrome.com/docs/lighthouse/overview/ |
| 25 | + |
| 26 | +## Current implementation status |
| 27 | + |
| 28 | +- WP01–WP04 are implemented through report payload generation, static rendering, archive writing, and schema contract tests. |
| 29 | +- WP05 will finalize end-to-end CLI orchestration and scheduled CI automation for the full production run. |
| 30 | + |
| 31 | +## Expected end-to-end action (ingest → scan → report) |
| 32 | + |
| 33 | +The intended operator action is: |
| 34 | + |
| 35 | +1. Pull top DAP URLs and page-load counts. |
| 36 | +2. Run Lighthouse + ScanGov scans for each selected URL. |
| 37 | +3. Aggregate scores and accessibility impact estimates. |
| 38 | +4. Generate and publish dated report snapshots under `docs/reports/`. |
| 39 | + |
| 40 | +This workflow is represented by the CLI entrypoint and work package stack: |
| 41 | + |
| 42 | +- Current entrypoint scaffold: `src/cli/run-daily-scan.js` |
| 43 | +- Full orchestration completion target: WP05 |
| 44 | + |
| 45 | +## Local development commands |
| 46 | + |
| 47 | +- Install dependencies: |
| 48 | + - `npm install` |
| 49 | +- Run tests: |
| 50 | + - `npm test` |
| 51 | +- Run current dry-run pipeline preview: |
| 52 | + - `npm run dry-run -- --source-file tests/fixtures/dap-sample.json` |
| 53 | + |
| 54 | +## Output locations |
| 55 | + |
| 56 | +- Daily published snapshots: `docs/reports/daily/YYYY-MM-DD/` |
| 57 | +- History index: `docs/reports/history.json` |
| 58 | +- Top-level dashboard page: `docs/reports/index.html` |
| 59 | + |
| 60 | +## Project structure |
| 61 | + |
| 62 | +- `src/config/` configuration schema + prevalence inputs |
| 63 | +- `src/ingest/` DAP source ingestion + normalization |
| 64 | +- `src/scanners/` Lighthouse/ScanGov execution + normalization |
| 65 | +- `src/aggregation/` metrics, impact, and trends |
| 66 | +- `src/publish/` report building, static rendering, archive + manifest |
| 67 | +- `tests/unit/` unit tests |
| 68 | +- `tests/contract/` schema contract validation |
| 69 | +- `kitty-specs/002-daily-dap-quality-benchmarking/` specification and work packages |
0 commit comments