Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
CHeading HierarchyAction45 headings, 1 skip(s)REVIEW
- H1 A CTO’s guide to real-time Linux
- H2 Understanding real-time systems, their use cases and inner workings.
- H1 Open source storage for enterprises duplicate H1
- H4 私たちの日本のウェブサイトを試してみてください › skipped
- H4 嗨!你知道我们有中文站吗?立即带我去! ›
- H2 Modern enterprise open source
- H2 Latest news from our blog ›
- H3 RISC-V 101 – what is it and what does it mean for Canonical?
- H3 Ubuntu Summit 26.04 is coming: Save the date and share your story!
- H3 How to manage Ubuntu fleets using on-premises Active Directory and ADSys
- H3 Canonical partners with Snyk for scanning chiseled Ubuntu containers
- H3 (empty)
- H3 (empty)
- H2 Energize your engineers
- H2 Open source security
- H2 Significant enterprise savings
- H2 Public cloud optimization
- H2 Multi-cloud Kubernetes and containers
- H2 Carrier–grade private cloud
- H2 Ultra secure things
- H2 Workstations and desktops
- H2 Data center automation
- H2 Smart robots of all shapes and sizes
- H2 Multi–cloud applications – beyond PAAS
- H3 The Ubuntu experts
- H3 Your comments
- H2 OpenStack OpenStack
- H2 Ceph Ceph
- H2 Kubernetes Kubernetes
- H2 Managed infrastructure Managed infrastructure
- H2 AI / ML AI / ML
- H2 Robotics Robotics
- H2 IoT IoT
- H2 Ubuntu Core Ubuntu Core
- H2 Ubuntu Desktop Ubuntu Desktop
- H2 Ubuntu Server Ubuntu Server
- H2 Cloud Cloud
- H2 Security Security
- H2 Landscape Landscape
- H2 Containers Containers
- H2 Downloads Downloads
- H2 Support Support
- H2 Pricing Pricing
- H2 Sectors
- H2 Your tracker settings
A page should have only one H1. Multiple H1s dilute the document outline.
Multiple H1s blur the page's primary topic — screen-reader users and Google both prefer one H1.
Learn more ▾ ▴
HTML5's outline algorithm technically allows multiple H1s within sectioning content, but no browser implements it. In practice: one H1 per page. Use H2-H6 for subsections.
Source: WCAG 2.4.6 / Google Search Central
Skipping heading levels breaks the document outline. Screen readers may interpret missing levels as structural errors.
Skipping heading levels breaks the document outline — screen-reader users lose track of section nesting.
Learn more ▾ ▴
Screen reader users navigate by jumping between headings (H1 → H2 → H3). Skipping (H1 → H3) breaks the sense of hierarchy. Use sequential levels even if you don't like the default styling — restyle with CSS instead. WCAG 1.3.1 (Info and Relationships) treats this as an A failure.
Source: WCAG 2.1 SC 1.3.1 / W3C WAI
Empty headings appear in the document outline but provide no information.
Empty <hN> tags break the document outline — screen-reader users navigating by heading hit dead silence.
Source: WCAG 2.4.6
CLink & Button QualityAction2 issue(s) across 314 links and 15 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| / | Canonical Ubuntu | img no alt | Add alt attribute to the image |
| https://ubuntu.com/ | Ubuntu | img no alt | Add alt attribute to the image |
| https://ubuntu.com/pro | Ubuntu Pro | img no alt | Add alt attribute to the image |
| https://snapcraft.io/ | Snapcraft | img no alt | Add alt attribute to the image |
| https://ubuntu.com/lxd | LXD | img no alt | Add alt attribute to the image |
| https://maas.io/ | MAAS | img no alt | Add alt attribute to the image |
| https://ubuntu.com/openstack | OpenStack | img no alt | Add alt attribute to the image |
| https://ubuntu.com/ceph | Ceph | img no alt | Add alt attribute to the image |
| https://ubuntu.com/kubernetes | Kubernetes | img no alt | Add alt attribute to the image |
| https://juju.is/ | Juju | img no alt | Add alt attribute to the image |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label |
Links without text are announced as raw URLs by screen readers.
;
Links with no accessible text (empty <a></a>, image-only no alt, icon-only no aria-label) are unidentifiable to screen readers.
Source: WCAG 2.1 SC 2.4.4
CFavicon & BrandingAction6 icon(s) detectedREVIEW
BWeb ManifestValid manifestREVIEW
ALandmark Structure10 landmarksPASS
Multiple navigations need aria-label to distinguish them for screen readers.
Some <nav> elements lack aria-label — screen-reader users hear 'navigation' multiple times with no way to distinguish them.
Learn more ▾ ▴
When a page has multiple <nav> regions (primary, footer, breadcrumb), each needs aria-label or aria-labelledby. AT users navigate by landmark; identical 'navigation' announcements force them to enter each one to discover purpose.
Source: WAI-ARIA Authoring Practices
A+Alt Text QualityAll 72 images OKPASS
A+Form AccessibilityAll 50 controls labeledPASS
| Control | Type | Label | Method |
|---|---|---|---|
| #search | search | Search our sites | aria-label |
| q | search | Search our sites | aria-label |
| #about-your-project | textarea | Tell us about your project | aria-label |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| input | checkbox | none | |
| #desktop-workstation | checkbox | none | |
| #physical-server | checkbox | none | |
| #public-cloud | checkbox | none | |
| #virtual-machine | checkbox | none | |
| #iot-edge-device | checkbox | none | |
| #less-5-machines | radio | none | |
| #5-to-15-machines | radio | none | |
| #15-to-50-machines | radio | none | |
| #50-to-100-machines | radio | none | |
| #greater-than-100 | radio | none | |
| #ubuntu-repositories | checkbox | none | |
| #github-upstream | checkbox | none | |
| #internally-approved-repository | checkbox | none | |
| #i-dont-know-how-i-consume-oss | checkbox | none | |
| #pci | checkbox | none | |
| #hipaa | checkbox | none | |
| #fisma | checkbox | none | |
| #fips-140 | checkbox | none | |
| #ncsc | checkbox | none | |
| #disa-stig | checkbox | none | |
| #fedramp | checkbox | none | |
| #cis-benchmark | checkbox | none | |
| #individual-developers | checkbox | none | |
| #project-team | checkbox | none | |
| #third-party-vendor | checkbox | none | |
| #i-dont-know-tracking-responsibility | checkbox | none | |
| #advice | textarea | What advice are you looking for? | aria-label |
| #firstName | text | First name: | for/id |
| #lastName | text | Last name: | for/id |
| Email: | for/id | ||
| #company | text | Company: | for/id |
| #title | text | Job Title: | for/id |
| #country | select | Country: | for/id |
| input | text | Search | aria-label |
| #phone | tel | Mobile/cell phone number: | for/id |
| canonicalUpdatesOptIn | checkbox | none | |
| #Comments_from_lead__c | textarea | Your comments | none |
A404 Error PageHTTP 404, custom pagePASS
A+Print StylesheetPrint styles 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 |
|---|---|---|---|---|---|
| h1 A CTO’s guide to r… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h1 Open source storage … | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Understanding real-t… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Modern enterprise op… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Latest news from | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Energize your engine… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Open source security | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Significant enterpri… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Public cloud optimiz… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Multi-cloud Kubernet… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Carrier–grade priv… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Ultra secure things | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Workstations and des… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Data center automati… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Smart robots of all … | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Multi–cloud applic… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Sectors | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h2 Your tracker setting… | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h3 The Ubuntu experts | 6.84:1 | 3.0:1 | #000000 | #939393 | Pass |
| h3 Your comments | 6.84:1 | 3.0:1 | #000000 | #939393 | 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 100/100 — 0 failing, 32 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.