Skip to content

docs: fix accessibility and build issues from multi-device testing report#21912

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/update-docs-testing-report-2026-03-20
Closed

docs: fix accessibility and build issues from multi-device testing report#21912
Copilot wants to merge 2 commits intomainfrom
copilot/update-docs-testing-report-2026-03-20

Conversation

Copy link
Contributor

Copilot AI commented Mar 20, 2026

Six issues identified in the automated docs testing report: duplicate homepage <title>, decorative logo with redundant alt text, missing scope on table headers, duplicate H1 on the fuzzy-schedule spec page, unsupported abnf code fence language, and a ThemeSelect component conflict with starlight-blog.

Changes

  • Duplicate homepage title (CustomHead.astro): Filter Starlight's generated <title> tag and emit our own, so the homepage renders "GitHub Agentic Workflows" instead of "GitHub Agentic Workflows | GitHub Agentic Workflows".

  • Decorative logo alt text (CustomLogo.astro): Change alt="GitHub Agentic Workflows"alt="". The adjacent <span> in the same link already carries the accessible label.

  • Table header scope (responsive-tables.ts): Extend the existing client-side table enhancement to set scope="col" on <thead th> and scope="row" on <tbody th> across all pages.

  • Duplicate H1 (fuzzy-schedule-specification.md): Remove the explicit # Fuzzy Schedule Time Syntax Specification heading — Starlight renders the frontmatter title as the page H1 already.

  • ABNF code fence (astro.config.mjs): Add abnf: "text" to Shiki's langAlias map so abnf blocks get plain-text highlighting without a build warning.

  • ThemeSelect / starlight-blog conflict (ThemeToggle.astro, astro.config.mjs): The blog plugin's ThemeSelect override (which injects a "Blog" header link) conflicted with our custom theme toggle. Fixed by rendering starlight-blog/components/ThemeSelect.astro inside ThemeToggle.astro and setting navigation: 'none' in the plugin config to suppress the duplicate-override build warning.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /opt/hostedtoolcache/node/24.14.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.14.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build es/index.html &amp;&amp;--log-level ache�� -o public/slides/index.html actory in/sh s/gh-aw-theme.css -o public/slides/index.html &amp;&amp; mkdir -p public/slides &amp;&amp; cp slides/github-age (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.14.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build sh ache�� -o public/slides/index.html starlight-blog/libs/remark.ts starlight-blog/libs/config.ts s/gh-aw-theme.css -o public/slides/index.html &amp;&amp; mkdir -p public/slides &amp;&amp; cp slides/github-age starlight-blog/l-c starlight-blog/lnpm run generate-agent-factory &amp;&amp; npm run build:slides starlight-blog/libs/path.ts star�� starlight-blog/libs/vite.ts starlight-blog/libs/authors.ts starlight-blog/libs/title.ts starlight-blog/lnode starlight-blog/l/opt/hostedtoolcache/node/24.14.0/x64/bin/npx starlight-blog/l@marp-team/marp-cli starlight-blog/lslides/index.md (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI changed the title [WIP] Update multi-device docs testing report for 2026-03-20 docs: fix accessibility and build issues from multi-device testing report Mar 20, 2026
Copilot AI requested a review from pelikhan March 20, 2026 05:47
@pelikhan pelikhan marked this pull request as ready for review March 20, 2026 05:49
Copilot AI review requested due to automatic review settings March 20, 2026 05:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes multiple accessibility and docs build issues found during multi-device automated testing, primarily by deduplicating document titles, improving accessible markup, and addressing Starlight plugin/component conflicts.

Changes:

  • Deduplicates the homepage <title> by filtering Starlight’s generated <title> and emitting a custom one.
  • Improves accessibility: decorative logo alt="" and adds scope attributes to table headers via the responsive table enhancer.
  • Resolves docs build warnings/conflicts: aliases abnf fences to text highlighting and adjusts starlight-blog theme/nav integration.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/src/scripts/responsive-tables.ts Adds scope="col"/scope="row" to table header cells for improved accessibility.
docs/src/content/docs/reference/fuzzy-schedule-specification.md Removes explicit H1 to avoid duplicate H1 with Starlight-rendered title.
docs/src/content/docs/agent-factory-status.mdx Adds two workflow entries to the status table.
docs/src/components/ThemeToggle.astro Renders starlight-blog’s ThemeSelect component alongside the custom theme toggle.
docs/src/components/CustomLogo.astro Makes the logo image decorative by setting empty alt text.
docs/src/components/CustomHead.astro Filters Starlight <title> and emits a deduplicated page title while keeping OG/Twitter overrides.
docs/astro.config.mjs Adds Shiki langAlias for abnf and disables blog navigation injection to avoid override conflicts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +32 to +34
// Generate the correct page title (avoids "Site | Site" duplicate on homepage)
const pageTitle = isHomePage ? siteTitle : `${rawPageTitle} | ${siteTitle}`;

Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pageTitle duplicates the same conditional formatting already used for ogTitle. Consider deriving ogTitle (and the Twitter title) from pageTitle to keep the HTML <title> and OG/Twitter titles from drifting if the formatting logic changes later.

Copilot uses AI. Check for mistakes.
@pelikhan pelikhan closed this Mar 20, 2026
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.

🔍 Multi-Device Docs Testing Report - 2026-03-20

3 participants