Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DPrint StylesheetActionNo print stylesFIX
CLink & Button QualityAction5 issue(s) across 143 links and 25 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://github.com/platform | GitHubRepository hosting, code… | img no alt | Add alt attribute to the image |
| https://github.com/features/copilot | CopilotAI coding agent for tas… | img no alt | Add alt attribute to the image |
| https://docs.github.com/en | Documentation | new tab | Add '(opens in new tab)' to text |
| https://learn.github.com/skills | Training | new tab | Add '(opens in new tab)' to text |
| https://learn.github.com/credentials | Certifications | new tab | Add '(opens in new tab)' to text |
| https://docs.github.com/en/copilot/how-t… | Customize Copilot | new tab | Add '(opens in new tab)' to text |
| https://github.blog/changelog/ | ChangelogYour source for the l… | new tab | Add '(opens in new tab)' to text |
| https://docs.github.com/en | Documentation | new tab | Add '(opens in new tab)' to text |
| https://github.blog/ | Blog | new tab | Add '(opens in new tab)' to text |
| https://help.github.com/ | Customer support | new tab | Add '(opens in new tab)' to text |
| https://learn.github.com/skills | Training | new tab | Add '(opens in new tab)' to text |
| https://www.githubstatus.com/ | GitHub Status | new tab | Add '(opens in new tab)' to text |
| https://github.blog/changelog/ | Changelog | new tab | Add '(opens in new tab)' to text |
| https://githubuniverse.com/ | GitHub UniverseThe event for d… | new tab | Add '(opens in new tab)' to text |
| https://github.com/events/universe/recap… | GitHub Universe ‘26 Recap | img no alt | Add alt attribute to the image |
| /platform | Learn more | generic text | Replace with descriptive text |
Before: Learn more Suggested: Platform | |||
| /features/copilot | Learn more | generic text | Replace with descriptive text |
Before: Learn more Suggested: Copilot | |||
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
Generic link text like 'click here' doesn't describe the destination.
/platform ("Learn more"); /features/copilot ("Learn more")
Generic anchor text ('click here', 'read more', 'learn more') tells screen readers and search engines nothing about the destination.
Learn more ▾ ▴
Out-of-context lists of links read by AT (one navigation pattern) become useless when every link says 'click here'. Use the destination's title or topic as anchor text. Doubles as SEO win — Google passes anchor-text relevance to the destination.
Source: WCAG 2.4.4 / Google Search Central
Add '(opens in new tab)' to link text or aria-label.
https://docs.github.com/en; https://learn.github.com/skills; https://learn.github.com/credentials; https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilo…; https://github.blog/changelog/; https://docs.github.com/en; https://github.blog/; https://help.github.com/; https://learn.github.com/skills; https://www.githubstatus.com/ (+2 more)
Links with target="_blank" without rel="noopener" leak the originating page's window context — security and UX issue.
Learn more ▾ ▴
Without rel="noopener", the new tab can navigate the original tab via window.opener (tab-nabbing attack). Modern browsers default to noopener for target=_blank but only since recent versions. Always set rel="noopener noreferrer" explicitly.
Source: MDN target / OWASP
Icon-only buttons need an aria-label so screen readers can announce them.
button#icon-button-31069fd1-e0d0-4e27-b5a7-909278e78baf; button[data-testid="IconButton"]; button[data-testid="IconButton"]
Buttons with no accessible text (icon-only, no aria-label) can't be activated by voice control or understood by screen readers.
Source: WCAG 2.1 SC 4.1.2
CTap Target AdequacyAction5 tap target(s) too small or too close togetherREVIEW
B404 Error PageHTTP 404, custom pageREVIEW
BFavicon & Branding13 icon(s) detectedREVIEW
BDark Mode SupportDark mode detectedREVIEW
Detection limited to meta tags and inline styles.
ALandmark Structure25 landmarksPASS
The skip-link anchor (e.g., `href="#main"`) points at an ID that has no corresponding element on the page. Activating the link does nothing -- a silent WCAG 2.4.1 failure that the visual link presence hides. Add `id="main"` (or whichever matches the href) to the target landmark.
Skip link points at an ID that doesn't exist on the page. The link looks fine visually but does nothing when activated -- silent WCAG 2.4.1 failure.
Learn more ▾ ▴
Find the target landmark (typically <main> or the first <h1>) and add `id="..."` matching the skip link's href fragment. Test by tabbing to the skip link and pressing Enter -- focus should jump to the target.
Source: WCAG 2.1 SC 2.4.1
A+Heading Hierarchy28 headingsPASS
- H2 Navigation Menu
- H1 Software still starts with you
- H2 Product walkthrough
- H2 GitHub activity
- H2 GitHub Platform
- H3 GitHub
- H3 Copilot
- H2 More ways to use GitHub
- H3 Actions
- H3 Code Quality
- H3 Code Security
- H3 Secret Protection
- H3 Codespaces
- H2 Whatever you're building, you can build it on GitHub
- H2 What our customers say
- H2 Companies using GitHub
- H2 Customer stories
- H3 Figma streamlines development and strengthens security
- H3 Mercedes-Benz standardizes source code and automates onboarding
- H3 Mercado Libre cuts coding time by 50%with GitHub Copilot
- H2 Featured repositories
- H2 Join the world's largest developer community
- H2 Site-wide Links
- H3 The developer newsletter
- H3 Products
- H3 Developers
- H3 Support
- H3 Company
A+Heading Text QualityAll 28 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 22 images OKPASS
A+Form AccessibilityAll 2 controls labeledPASS
| Control | Type | Label | Method |
|---|---|---|---|
| #_R_9j8l_ | Enter your email | for/id | |
| #_R_1atcl_ | Enter your email | for/id |
A+Form Input Types2 form control(s) checked, no type mismatchesPASS
A+Form Input Quality2 form control(s) checked, no input-semantic issuesPASS
A+Mobile Keyboard & AutofillNo autofill-eligible form controlsPASS
A+Document LanguageLang attribute set to "en"PASS
A+Tabindex Anti-PatternsNo explicit tabindex attributes foundPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A+Mobile-Readable Font SizesAll 193 visible text node(s) render at >= 12 CSS pixelsPASS
AWeb ManifestPWA-readyPASS
APWA Depth2 PWA signal(s) surfacedPASS
A+Mobile UX Depth2 mobile-depth signal(s) detectedPASS
A+Color Contrast (Screenshot)20 text elements analyzed, 0 fail WCAG AAPASS
Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.
Show all checked elements (20)
| Element | Ratio | Required | FG | BG | Result |
|---|---|---|---|---|---|
| h2 Navigation Menu | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Product walkthrough | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 GitHub activity | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 GitHub Platform | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 More ways to use Git… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Whatever you're buil… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 What our customers s… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Companies using GitH… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Customer stories | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Featured repositorie… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Join the world's lar… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h2 Site-wide Links | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 GitHub | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Copilot | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Actions | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Code Quality | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Code Security | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Secret Protection | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 Codespaces | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
| h3 The developer newsle… | 16.98:1 | 3.0:1 | #000000 | #E4E8E6 | Pass |
Methodology: The top 20 text elements by font size were checked. Background color was sampled from the desktop screenshot using a 5-point pattern. WCAG 2.1 AA requires 4.5:1 for normal text and 3:1 for large text.
A+Lighthouse Accessibility AuditsScore 96/100 — 1 failing, 26 passedPASS
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
Best practices
Touch targets with sufficient size and spacing help users who may have difficulty targeting small controls to activate the targets. Learn more about touch targets.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Go to testimonial 1 div.Primer_Brand__TestimonialGroup-module__TestimonialGroup__controls___S4ca5 > div.Primer_Brand__CarouselPagination-module__CarouselPagination___PH90q > div.Primer_Brand__CarouselPagination-module__CarouselPagination__indicators___ReV_f > button.Primer_Brand__CarouselPagination-module__CarouselPagination__indicator___cq9Tv |
Go to testimonial 2 div.Primer_Brand__TestimonialGroup-module__TestimonialGroup__controls___S4ca5 > div.Primer_Brand__CarouselPagination-module__CarouselPagination___PH90q > div.Primer_Brand__CarouselPagination-module__CarouselPagination__indicators___ReV_f > button.Primer_Brand__CarouselPagination-module__CarouselPagination__indicator___cq9Tv |
Go to testimonial 3 div.Primer_Brand__TestimonialGroup-module__TestimonialGroup__controls___S4ca5 > div.Primer_Brand__CarouselPagination-module__CarouselPagination___PH90q > div.Primer_Brand__CarouselPagination-module__CarouselPagination__indicators___ReV_f > button.Primer_Brand__CarouselPagination-module__CarouselPagination__indicator___cq9Tv |
Go to testimonial 4 div.Primer_Brand__TestimonialGroup-module__TestimonialGroup__controls___S4ca5 > div.Primer_Brand__CarouselPagination-module__CarouselPagination___PH90q > div.Primer_Brand__CarouselPagination-module__CarouselPagination__indicators___ReV_f > button.Primer_Brand__CarouselPagination-module__CarouselPagination__indicator___cq9Tv |
Go to testimonial 5 div.Primer_Brand__TestimonialGroup-module__TestimonialGroup__controls___S4ca5 > div.Primer_Brand__CarouselPagination-module__CarouselPagination___PH90q > div.Primer_Brand__CarouselPagination-module__CarouselPagination__indicators___ReV_f > button.Primer_Brand__CarouselPagination-module__CarouselPagination__indicator___cq9Tv |
These items highlight common accessibility best practices.