Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DForm AccessibilityAction4 of 12 controls have issuesFIX
| Control | Type | Label | Method |
|---|---|---|---|
| #email-52611e5e-cc55-4960-bf4a-a2adb36291f6_52611e5e-cc55-4960-bf4a-a2adb36291f6-0 | Email* | for/id | |
| #site-theme-select | select | Site theme | none |
| #ot-group-id-SPD_BG | checkbox | Use of Personal Data | for/id |
| #vendor-search-handler | text | Cookie list search | aria-label |
| #chkbox-id | checkbox | checkbox label | for/id |
| #select-all-hosts-groups-handler | checkbox | checkbox label | for/id |
| #select-all-vendor-groups-handler | checkbox | checkbox label | for/id |
| #select-all-vendor-leg-handler | checkbox | checkbox label | for/id |
| search | text | (Search...) | placeholder only |
| input | submit | (none) | none |
| #g-recaptcha-response | textarea | (none) | none |
| #g-recaptcha-response-100000 | textarea | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<textarea name="g-recaptcha-response" id="g-recaptcha-response">; <input type="submit">; <textarea name="g-recaptcha-response" id="g-recaptcha-response-100000">
Form controls without labels — assistive tech announces 'edit text' with no context; users can't complete forms.
Source: WCAG 2.1 SC 3.3.2
Placeholder text disappears on focus and is not a reliable label.
<input type="text" name="search">
Placeholder-only labels disappear when the user starts typing — they must remember what the field was for.
Learn more ▾ ▴
Placeholders are NOT labels. They vanish on input, fail color contrast checks (most are gray), and don't satisfy WCAG SC 3.3.2. Always use a real <label> alongside (or aria-labelledby).
Source: WCAG 2.1 SC 3.3.2 / Nielsen Norman
FWeb ManifestActionValid manifestFIX
DDark Mode SupportActionTheme color onlyFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
CLink & Button QualityAction2 issue(s) across 134 links and 38 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://app.netlify.com/signup | Start building | new tab | Add '(opens in new tab)' to text |
| https://www.netlify.com/contact/sales?at… | Talk to sales | new tab | Add '(opens in new tab)' to text |
| /docs/ai-gateway | Explore AI Gateway | new tab | Add '(opens in new tab)' to text |
| /solutions/marketing-sites/ | Marketing sites on Netlify | new tab | Add '(opens in new tab)' to text |
| /docs/primitives | Explore platform primitives | new tab | Add '(opens in new tab)' to text |
| /solutions/ecommerce/ | Ecommerce on Netlify | new tab | Add '(opens in new tab)' to text |
| /solutions/internal-apps/ | Internal apps on Netlify | new tab | Add '(opens in new tab)' to text |
| https://github.com/netlify | GitHub | new tab | Add '(opens in new tab)' to text |
| https://www.linkedin.com/company/netlify | new tab | Add '(opens in new tab)' to text | |
| https://bsky.app/profile/netlify.com | Bluesky | new tab | Add '(opens in new tab)' to text |
| https://twitter.com/netlify | @keyframes appear{0%{opacity:0… | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@NetlifyApp | YouTube | new tab | Add '(opens in new tab)' to text |
| https://answers.netlify.com/ | Discourse | new tab | Add '(opens in new tab)' to text |
| https://www.netlify.com/privacy/ | More information about your pr… | new tab | Add '(opens in new tab)' to text |
| https://cookiepedia.co.uk/giving-consent… | More information about your pr… | new tab | Add '(opens in new tab)' to text |
| https://www.onetrust.com/products/cookie… | Powered by OneTrust Opens in a… | new tab | Add '(opens in new tab)' to text |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
Add '(opens in new tab)' to link text or aria-label.
https://app.netlify.com/signup; https://www.netlify.com/contact/sales?attr=homepage&ref=talk-to-sales&id=cta-…; /docs/ai-gateway; /solutions/marketing-sites/; /docs/primitives; /solutions/ecommerce/; /solutions/internal-apps/; https://github.com/netlify; https://www.linkedin.com/company/netlify; https://bsky.app/profile/netlify.com (+6 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 (#1903 on page); button (#1913 on page)
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
B404 Error PageHTTP 404, custom pageREVIEW
BFavicon & Branding5 icon(s) detectedREVIEW
CColor Contrast (Screenshot)Action20 text elements analyzed, 20 fail WCAG AAREVIEW
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 Push your ideas to t… | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Site navigation | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Actions | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Build your way. | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Ship on one platform… | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 For every kind of we… | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Start your way. | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Products | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Products | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Resources | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Resources | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Company | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Company | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Contact Us | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Contact Us | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Stay up to date with… | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 We use Cookies | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h2 Do Not Use My Person… | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h3 The Netlify Platform | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
| h3 Key Features | 1.18:1 | 3.0:1 | #000000 | #12181F | Fail |
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.
ALandmark Structure7 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+Heading Hierarchy42 headingsPASS
- H2 Site navigation
- H3 The Netlify Platform
- H3 Key Features
- H3 Why Netlify?
- H3 Use Cases
- H3 Where to start
- H3 Project kickstarts
- H2 Help
- H2 Actions
- H1 Push your ideas to the web
- H2 Build your way.Ship on one platform.
- H3 Start with code or AI
- H3 Build fullstack apps
- H3 Go live everywhere
- H3 Prompt. Preview. Repeat.
- H3 Build with agent-ready primitives.
- H3 Grow on the same infrastructure.
- H2 For every kind of web app.
- H3 Launch AI features with one gateway
- H3 Launch fast and iterate faster
- H3 Build fullstack apps without managing infrastructure
- H3 Run fast storefronts at global scale
- H3 Create internal apps with less overhead
- H2 Start your way.
- H2 Products
- H2 Products
- H2 Resources
- H2 Resources
- H2 Company
- H2 Company
- H2 Contact Us
- H2 Contact Us
- H2 Stay up to date with Netlify news
- H2 We use Cookies
- H2 Do Not Use My Personal Information
- H3 Manage Consent Preferences
- H4 Strictly Necessary Cookies
- H4 Use of Personal Data
- H5 Social Media Cookies
- H5 Targeting Cookies
- H5 Performance Cookies
- H3 Cookie List
AAlt Text QualityAll 30 images OKPASS
| Issue | Count |
|---|---|
| too long | 3 image(s) |
A+Lighthouse Accessibility AuditsScore 97/100 — 2 failing, 29 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.
Contrast
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
KUBERNETES CONTRIBUTOR, HEAD OF PROJECTS AT CNCF figure > figcaption > div.n-blockquote-author-info > span.n-blockquote-title |
These are opportunities to improve the legibility of your content.
Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. Learn more about accessible names.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Read our Privacy Policy div#onetrust-group-container > div#onetrust-policy > div#onetrust-policy-text > a.ot-cookie-policy-link |