Test Summary
- Triggered by:
@pelikhan
- Workflow run: Β§24956161040
- Devices targeted: 10 (Mobile Γ4, Tablet Γ3, Desktop Γ3)
- Test method: HTML structural analysis (curl fallback) β Playwright browser was unreachable due to Docker network isolation
- Test date: 2026-04-26
- Server: Astro v6.1.8 + Starlight v0.38.3 on port 4321
Results Overview
- π’ Structural/Accessibility checks: Passed (all 4 pages sampled)
- π‘ Warnings: 1 (skip link target naming)
- π΄ Critical: 0
- βͺ Visual/interactive layout tests: Skipped (Playwright network isolation)
Accessibility Findings
All pages consistently showed:
- β
<html lang="en" dir="ltr"> β language attribute set
- β
<meta name="viewport" content="width=device-width, initial-scale=1"> β responsive viewport configured
- β
Skip link present:
<a href="#_top" class="skip-link">Skip to main content</a> targeting <h1 id="_top"> inside <main>
- β
Primary nav labeled:
<nav aria-label="Primary navigation">
- β
Sidebar labeled:
<nav aria-label="Main"> (doc pages)
- β
Hamburger button has
aria-label="Toggle navigation menu" and aria-expanded
- β
Search labeled:
aria-label="Search" (pagefind-based)
- β
Video embeds have descriptive
aria-label attributes
- β
All images have
alt attributes (no bare <img> tags without alt)
π‘ Warning β Skip link naming: The skip link href="#_top" maps to the <h1> heading inside <main>. The anchor name _top implies "top of page" but actually skips to content. Functionality is correct, but renaming the anchor to #main-content or #content would follow WCAG 2.4.1 convention more clearly.
Structural Findings (Pages Tested)
| Page |
HTTP |
<header> |
<nav> (primary) |
Sidebar |
<main> |
<footer> |
TOC aside |
/gh-aw/ (homepage) |
200 |
β
|
β
|
n/a (landing) |
β
|
β
|
n/a |
/gh-aw/guides/getting-started-mcp/ |
200 |
β
|
β
|
β
|
β
|
β
|
β
|
/gh-aw/reference/faq/ |
200 |
β
|
β
|
β
|
β
|
β
|
β
|
/gh-aw/blog/ |
200 |
β
|
β
|
β
|
β
|
β
|
β
|
View Additional Element Checks
Homepage extras:
- Tablet hamburger menu:
<button class="hamburger-btn" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="tablet-nav-dropdown">
- Tablet dropdown nav hidden by default:
<nav id="tablet-nav-dropdown" aria-label="Primary navigation" hidden>
- Theme switcher:
<starlight-theme-select> with Auto/Dark/Light options
- OG/Twitter meta:
og:image, og:title, twitter:card, twitter:image β complete
- RSS feed:
<link href=".../blog/rss.xml" rel="alternate">
- Favicon SVG: present
- Custom fonts (Mona Sans) preloaded with
rel="preload" + font-display: swap
data-has-hero attribute set for landing-page CSS variant
Doc page extras (guides, faq, blog):
- Left sidebar with full site tree
- Right sidebar (
<aside class="right-sidebar-container">) with in-page TOC
- Mobile TOC toggle via
aria-labelledby="starlight__on-this-page--mobile"
- Print-hidden sidebars (
print:hidden)
View Visual Testing Limitation Details
Why Playwright was unavailable:
The Playwright MCP server runs in a container with --network host, meaning its localhost is the Docker host β not the agent container. The agent container's bridge IP (172.30.0.20) was not reachable from the Playwright container, resulting in net::ERR_CONNECTION_REFUSED / TimeoutError on navigation.
What could NOT be verified visually:
- Horizontal overflow on narrow viewports (β€428px mobile, β€768px tablet)
- CSS sidebar collapse at mobile breakpoints
- Mobile menu toggle animation and z-index stacking
- Touch target sizes on mobile devices
- Code block horizontal scroll behavior
- Image lazy-loading and placeholder rendering
- Dark/light theme switch visual rendering
Devices planned but untested visually:
- Mobile: iPhone 12 (390Γ844), iPhone 12 Pro Max (428Γ926), Pixel 5 (393Γ851), Galaxy S21 (360Γ800)
- Tablet: iPad (768Γ1024), iPad Pro 11 (834Γ1194), iPad Pro 12.9 (1024Γ1366)
- Desktop: HD (1366Γ768), FHD (1920Γ1080), 4K (2560Γ1440)
Recommendations
-
Rename skip link anchor (low priority): Change <h1 id="_top"> to <h1 id="main-content"> and update href="#_top" β href="#main-content" on the skip link. This improves clarity and aligns with WCAG 2.4.1 best practice.
-
Investigate Playwright connectivity (infrastructure): The AWF Docker network configuration prevents Playwright from reaching the agent container's bridge IP. Future test runs would benefit from a shared network or port-forwarding solution to enable visual screenshot tests.
-
Add viewport overflow test to CI (enhancement): A simple Node.js script using page.evaluate(() => document.documentElement.scrollWidth > window.innerWidth) at each breakpoint would catch horizontal overflow regressions without requiring Playwright visual diffs.
References:
Generated by Multi-Device Docs Tester Β· β 679.1K Β· β·
Test Summary
@pelikhanResults Overview
Accessibility Findings
All pages consistently showed:
<html lang="en" dir="ltr">β language attribute set<meta name="viewport" content="width=device-width, initial-scale=1">β responsive viewport configured<a href="#_top" class="skip-link">Skip to main content</a>targeting<h1 id="_top">inside<main><nav aria-label="Primary navigation"><nav aria-label="Main">(doc pages)aria-label="Toggle navigation menu"andaria-expandedaria-label="Search"(pagefind-based)aria-labelattributesaltattributes (no bare<img>tags withoutalt)π‘ Warning β Skip link naming: The skip link
href="#_top"maps to the<h1>heading inside<main>. The anchor name_topimplies "top of page" but actually skips to content. Functionality is correct, but renaming the anchor to#main-contentor#contentwould follow WCAG 2.4.1 convention more clearly.Structural Findings (Pages Tested)
<header><nav>(primary)<main><footer>/gh-aw/(homepage)/gh-aw/guides/getting-started-mcp//gh-aw/reference/faq//gh-aw/blog/View Additional Element Checks
Homepage extras:
<button class="hamburger-btn" aria-label="Toggle navigation menu" aria-expanded="false" aria-controls="tablet-nav-dropdown"><nav id="tablet-nav-dropdown" aria-label="Primary navigation" hidden><starlight-theme-select>with Auto/Dark/Light optionsog:image,og:title,twitter:card,twitter:imageβ complete<link href=".../blog/rss.xml" rel="alternate">rel="preload"+font-display: swapdata-has-heroattribute set for landing-page CSS variantDoc page extras (guides, faq, blog):
<aside class="right-sidebar-container">) with in-page TOCaria-labelledby="starlight__on-this-page--mobile"print:hidden)View Visual Testing Limitation Details
Why Playwright was unavailable:
The Playwright MCP server runs in a container with
--network host, meaning itslocalhostis the Docker host β not the agent container. The agent container's bridge IP (172.30.0.20) was not reachable from the Playwright container, resulting innet::ERR_CONNECTION_REFUSED/TimeoutErroron navigation.What could NOT be verified visually:
Devices planned but untested visually:
Recommendations
Rename skip link anchor (low priority): Change
<h1 id="_top">to<h1 id="main-content">and updatehref="#_top"βhref="#main-content"on the skip link. This improves clarity and aligns with WCAG 2.4.1 best practice.Investigate Playwright connectivity (infrastructure): The AWF Docker network configuration prevents Playwright from reaching the agent container's bridge IP. Future test runs would benefit from a shared network or port-forwarding solution to enable visual screenshot tests.
Add viewport overflow test to CI (enhancement): A simple Node.js script using
page.evaluate(() => document.documentElement.scrollWidth > window.innerWidth)at each breakpoint would catch horizontal overflow regressions without requiring Playwright visual diffs.References: