Skip to content

[A11y] Bundled MCP docs page: focus-visible + heading semantics (streamable-http.ts) #24

@cloud-nitrostack

Description

@cloud-nitrostack

Improve focus visibility and semantics on the bundled MCP docs page

Summary: The server-generated MCP documentation HTML (served by core over HTTP) needs keyboard focus styles and sensible headings—not the CLI widget templates.

Where to change (required): typescript/packages/core/src/core/transports/streamable-http.ts — inside generateDocumentationPage, add rules to the inline <style> block and adjust markup only if needed for semantics.

Explicitly out of scope for this issue: Styling scaffolded apps under typescript/packages/cli/templates/** (e.g. typescript-oauth, typescript-starter widget globals.css). Those are separate apps; improving them is welcome as a different issue or PR without closing this one.

Background: Footer links (<a href="https://nitrostack.ai">) and collapsible tool schemas (<details><summary>) rely on browser default focus rings, which are inconsistent. Section titles use leading emoji (<h2>🛠️ Available Tools</h2>); ensure heading levels remain a logical outline (emoji as decorative, not a substitute for h2).

Acceptance criteria:

  • :focus-visible styles for a and summary (and any other interactive controls in that template) with visible outline and offset.
  • Heading hierarchy reviewed: one h1, then h2 for major sections; emoji do not require extra heading levels.
  • Manual check: Tab through the page in Chrome/Firefox and confirm focus is visible on footer link and schema <summary>.

Suggested labels: visuals, accessibility, good first issue


Source: docs/STARTER_ISSUES_REVIEW.md — edit in-repo first, then sync GitHub issues if needed.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions