[dashboard-language] Security, privacy, accessibility: presenter slice

Daily Dashboard Language Renderer · pull request · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

published Aug 29, 2026, 4:26 PM · updated Aug 29, 2026, 4:34 PM

Milestone

Security, privacy, accessibility

What shipped

  • Added a narrow Section 13 presenter increment for DLS-SAFE-003, DLS-SAFE-007, DLS-SAFE-008, and DLS-SAFE-010.
  • Updated pages/dashboard/src/presenter.js so external links render with preserved non-empty accessible labels and conservative target="_blank" plus rel="noopener noreferrer" attributes.
  • Kept untrusted finding summaries rendered as inert text nodes rather than markup.
  • Added unit coverage in pages/dashboard/test/unit/presenter.test.js and browser coverage in pages/dashboard/test/e2e/smoke.spec.js for skip navigation presence, accessible names, labeled table columns, textual data-state labels, inert HTML-like text rendering, and labeled external links.
  • Updated pages/dashboard/PLAN.md with the completed slice and next milestone step.

Specification coverage

  • Section 13
  • DLS-SAFE-003
  • DLS-SAFE-007
  • DLS-SAFE-008
  • DLS-SAFE-010

Gates

  • npm install
  • npm run typecheck
  • npm run lint
  • npm test
  • npm run test:e2e

Blockers

  • None in this increment.

Next milestone

  • Security, privacy, accessibility — next slice for keyboard behavior and additional redaction/privacy semantics.

Generated by 🧩 Daily Dashboard Language Renderer · pi · gpt54 · 35.7 AIC · ⌖ 6.13 AIC · ⊞ 5.8K ·