Add enterprise dashboard accessibility guard#411
Conversation
|
Hardening update pushed in 5047577: noncritical low-contrast dashboard content now produces a warning, keeps scheduled exports blocked, and marks WCAG perceivable readiness false instead of releasing as clean. I added a regression that failed before the fix with release_with_accessibility_monitoring == remediate_before_public_release and now passes. Validation refreshed locally: npm run check, npm test (4 tests), npm run demo, npm run demo:video, ffprobe on demo.mp4, git diff --check, and credential-like sensitive-term scan returned no matches. |
|
Hardening update pushed in 836537b: table/export accessibility summaries are now included in the private-data scan, and private accessibility text produces an explicit Verification refreshed:
|
|
Follow-up competitive hardening pass for the enterprise dashboard accessibility guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the enterprise dashboard accessibility guard. What changed in
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the enterprise dashboard accessibility guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the enterprise dashboard accessibility guard. What changed in
Why this matters:
Validation refreshed locally:
|
|
Follow-up competitive hardening pass for the enterprise dashboard accessibility guard. What changed in
Validation refreshed locally:
|
|
Follow-up hardening verified in
|
|
Follow-up hardening pushed in What changed:
Verification refreshed locally:
|
|
Follow-up hardening pushed in What changed:
Verification refreshed locally:
|
|
Hi, just checking in on this bounty submission. The enterprise dashboard accessibility guard is still open and merge-clean; the current package covers malformed dashboard packets/components, reduced-motion evidence, contrast evidence, and identifier redaction with regenerated reviewer artifacts. Is there anything specific you would like me to change, simplify, or clarify to make review/selection easier? |
Portfolio Comparison Refresh (2026-06-27)
86978f2; no GitHub check runs or status contexts are attached, and Algora remains Pending with Total paid$0./claim #19 ## Summary - Adds a self-contained
enterprise-dashboard-accessibility-guard/slice for Enterprise Tooling issue #19. - Evaluates institutional admin dashboard releases before they are shown to admins, included in scheduled exports, or summarized through webhook notices. - Checks contrast for critical and noncritical metrics, missing/invalid/unresolved contrast evidence, shorthand hex colors, screen-reader labels, keyboard reachability, focus traps, visible focus indicators, private-data exposure in accessibility text, table summaries, heading order, reduced-motion fallbacks, malformed component evidence, and malformed top-level dashboard packets. - Emits deterministic JSON, Markdown, SVG, and MP4 reviewer artifacts with SHA-256 audit digests. ## Hardening Updates - Noncritical low-contrast dashboard content now produces a warning, keeps scheduled exports blocked, and marks WCAG perceivable readiness false instead of releasing as clean. - Table/export accessibility summaries are included in the private-data scan, with explicitredact_accessibility_text:*remediation. - Invalid or unresolved contrast evidence, including CSS color tokens such asvar(--metric-danger), now blocks dashboard release instead of being parsed into a false clean color. - Standard shorthand hex contrast evidence such as#000/#fffremains valid, so the guard is strict about invalid evidence without over-blocking common CSS syntax. - Keyboard-reachable dashboard controls that suppress visible focus indicators now block release instead of being marked accessibility-ready. - Critical dashboard widgets that omit foreground/background contrast evidence entirely now block release withINVALID_CONTRAST_EVIDENCEandprovide_valid_contrast_evidence:*remediation. - Noncritical dashboard metrics that omit contrast evidence now enter remediation before public release, keep scheduled exports blocked, and mark WCAG perceivable readiness false. - Malformed dashboard component evidence, such aswidgets: [null], now blocks release withMALFORMED_DASHBOARD_COMPONENT_ENTRYandrepair_dashboard_component_evidence:*instead of crashing assessment before reviewer packets are generated. - Malformed top-level dashboard packets, such asassessDashboardRelease(null), now block release withMALFORMED_DASHBOARD_PACKET, stableunidentified-dashboardpacket identity, andrepair_dashboard_packet:*remediation instead of crashing before reviewer packets are generated. - Malformed reduced-motion evidence, such asmotion.animatedChartssupplied as a string, now blocks release withMALFORMED_MOTION_EVIDENCEandrepair_motion_evidence:*instead of crashing animated chart assessment. ## Scope This focuses specifically on accessibility readiness for institutional admin dashboards and their downstream export/webhook release lanes. It is distinct from the existing dashboard/export/webhook replay/compliance/identity/retention/data-residency/SLA/secret-rotation/quota/API-change/connector-certification/incident/funder/AI-model/dashboard-attribution/initiative-tag/policy-exception/IRB/data-export/SCIM/deposit-reconciliation/admin-notification/cost-allocation/LMS/payload-redaction/vendor-DPA/cohort-privacy/API-rate-limit/training-policy slices. ## Validation - Red regression on the parent ofa0f3773reproduced the malformed motion crash first:TypeError: dashboard.motion.animatedCharts.map is not a function. - Red regression on the parent of6f06509reproduced the malformed top-level dashboard crash first:TypeError: Cannot read properties of null (reading 'widgets'). - Red regression on the parent ofc2eae84reproduced the malformed component crash first:TypeError: Cannot read properties of null (reading 'critical'). -cd enterprise-dashboard-accessibility-guard && npm test-> 13 tests passed. -cd enterprise-dashboard-accessibility-guard && npm run demo-> regenerated blocked, missing-contrast, missing-noncritical-contrast, malformed-component, malformed-dashboard, malformed-motion, clean, and warning JSON/Markdown/SVG artifacts. -cd enterprise-dashboard-accessibility-guard && npm run demo:video-> regeneratedreports/demo.mp4. -cd enterprise-dashboard-accessibility-guard && npm run check-> passed JS syntax checks and Python compile check. - Generated JSON packets parsed successfully: 8 packets. -ffprobeconfirmedreports/demo.mp4is H.264, 1280x720, 24fps, 9.041667s, 132,119 bytes. -git diff --checkandgit diff --cached --checkpassed; Git only reported Windows line-ending normalization warnings. - Focused restricted-string scan returned 0 matches. - GitHub PR merge state after push confirmation:CLEAN; no checks are reported for this branch. ## Safety Synthetic data only. No credentials, private dashboard records, SSO calls, webhook calls, export delivery, payment processor calls, or private institutional systems are used. AI-assisted with OpenAI Codex; I reviewed and locally verified the diff before submitting.