Skip to content

fix(slides): improve accessibility and authoring guidance - #2906

Open
Allen Greaves (agreaves-ms) wants to merge 2 commits into
mainfrom
feat/slides-a16y
Open

Allen Greaves (agreaves-ms) wants to merge 2 commits into
mainfrom
feat/slides-a16y

Conversation

@agreaves-ms

Copy link
Copy Markdown
Collaborator

Pull Request

Description

Make the HVE Updates presentation readable and operable across desktop, narrow-screen and keyboard use, and carry the accessibility requirements into the HVE Slides starter and authoring guidance.

  • Add an unscaled reading view with wrapping layouts, touch scrolling and text resizing while preserving the presentation layout.
  • Restrict character shortcuts to the focused presentation surface, exclude inactive slides from reading and focus order, remove competing announcements, and make scrollable dialog content keyboard accessible.
  • Correct the participation example's heading hierarchy and provide readable diagram descriptions containing node meanings and relationships.
  • Add five browser regressions covering the Docusaurus gallery, slide navigation, dialogs, text spacing, reading view and touch scrolling. The gallery passed investigation without requiring a markup change.
  • Update the repository-only HVE Slides skill, references and starter, and regenerate the self-contained HTML bundle. No dependency or plugin membership changes.

Related Issue(s)

None identified in the branch or commit history.

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with hve-builder and addressed all actionable findings
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)
  • Copilot skill (.github/skills/*/SKILL.md)
  • Copilot hook (.github/hooks/*/*.json)
  • Eval spec added/updated for changed AI artifacts (evals/)

Note for AI Artifact Contributors:

  • Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
  • Skills: Must include both bash and PowerShell scripts. See Skills.
  • Model Versions: Contributions MUST target models listed in the model catalog (scripts/linting/model-catalog.json) whose provider appears in providerAllowlist and whose status is ga or preview. Run npm run lint:models to validate references.
  • See Agents Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

User Request:

/hve-slides deck=slides/hve-updates mode=update Make the deck readable on phones and usable with a keyboard, then verify the generated HTML.

Execution Flow:

Inspect the existing slide source and starter, apply scoped accessibility criteria, rebuild the bundle and gather separate scanner, keyboard, accessibility-tree and rendering evidence. Reuse current dependencies and report unavailable checks without installing prerequisites implicitly.

Output Artifacts:

Updated deck source and docs/slides/hve-updates.html, with a Reading view toggle, diagram descriptions and keyboard-accessible dialogs. The starter and references retain these behaviors for future decks.

Success Indicators:

At 320 CSS pixels, slide content and walkthrough actions remain reachable without horizontal overflow. Keyboard navigation and dialog scrolling pass the focused Playwright spec; static scans are not substituted for interaction evidence.

For detailed contribution requirements, see:

Testing

Passed targeted preflight:

  • git diff --check origin/main...HEAD
  • npm run slides:check: committed HTML matches source.
  • npm run test:slides: 16 passed.
  • npm test --prefix slides/hve-updates: 21 passed.
  • npm test --prefix .github/skills/hve-slides/templates/deck: 11 passed.
  • From docs/docusaurus: npm exec -- jest --runInBand --runTestsByPath src/pages/__tests__/slides.test.tsx: 10 passed.
  • From docs/docusaurus: npm exec -- playwright test --config ../../logs/slides-playwright.config.ts e2e/slides.spec.ts --workers=1 --reporter=list: 5 passed. The ignored local configuration uses already-installed Chromium; CI retains the repository's system-Chrome configuration.
  • npm run docs:lint, npm run docs:lint:labels, npm run docs:typecheck and focused ESLint for the new spec.
  • npm run validate:skills -- -ChangedFilesOnly and npm run lint:frontmatter -- -ChangedFilesOnly.
  • npm run validate:copyright -- -Path docs/docusaurus/e2e -FailOnMissing: 31 files passed after the two-line header repair.
  • npm run lint:tables, changed-file CSpell, and direct Markdownlint API checks using repository rules for all six changed Markdown files.
  • npm run plugin:validate and npm run docs:generate:check: projections already synchronized; zero generated reference changes.

Implementation validation also included a production site build, integrated-browser investigation, axe scans across the 26-slide deck and four-slide starter, dialog checks, all 52 slide/step states at 320px with increased text spacing, 200% text sizing, and isolated offline execution of a renamed HTML bundle without remote runtime requests.

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Used hve-builder review mode to review contribution
  • Addressed all actionable findings from the hve-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Local Checks

The following local-safe validation commands must pass before merging:

  • Local validation aggregate: npm run validate:local
  • Documentation validation (if docs changed): npm run validate:docs
  • Spell checking: npm run spell-check
  • Link validation: npm run lint:md-links

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

No dependencies, credentials, workflow permissions or external services are added. Presenter notes remain part of the intentionally shareable HTML.

Additional Notes

  • Character shortcuts, including Space, now require focus on the presentation surface; native control activation keeps precedence.
  • Manual screen-reader and native browser-zoom testing remain unperformed. Text-resize and reflow results are not claims of native browser-zoom or full WCAG conformance.
  • HVE Builder's required static finding was corrected and closed. The separate simulated skill behavior assessment remains Partial/Revise due to unresolved simulation metadata and effective model-binding evidence; it is not a passing native behavior assessment.
  • The production build succeeds with an existing unrelated warning for getting-started/methods/comparison linking to the missing install#marketplace-install anchor.
  • Full validation aggregates, the full-site browser suite, repository-wide spell/link checks and model-backed eval lanes were not run as part of this targeted preflight. Hosted CI is pending.
  • The preflight follow-up commit adds the required copyright/SPDX header to the new test. Ignored audit configurations, logs and simulation evidence are not included in this PR.

- Add reading view, touch scrolling and keyboard focus support
- Improve announcements, headings and diagram alternatives
- Update the starter and add gallery and deck browser regressions

♿ - Generated by Copilot
@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Sep 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.01%. Comparing base (9bf1a30) to head (6ebfae1).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2906   +/-   ##
=======================================
  Coverage   83.01%   83.01%           
=======================================
  Files         186      186           
  Lines       34939    34939           
  Branches      231      231           
=======================================
  Hits        29004    29004           
  Misses       5861     5861           
  Partials       74       74           
Flag Coverage Δ
docusaurus 91.46% <ø> (ø)
pester 83.41% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

Eval Execution

Status: Passed

  • Artifacts evaluated: 0
  • Specs run: 0
  • Assertions passed: 0
  • Assertions failed (blocking): 0
  • Assertions failed (advisory): 0
  • Failed specs (merge-blocking): 0

No changed AI artifacts required evaluation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants