Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLink & Button QualityAction17 issue(s) across 284 links and 33 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://www.facebook.com/sleepisthefound… | Facebook Footer | new tab | Add '(opens in new tab)' to text |
| https://twitter.com/sleepisthefound | Twitter Footer | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/c/SleepIsTheFoun… | YouTube Footer | new tab | Add '(opens in new tab)' to text |
| https://www.instagram.com/sleepisthefoun… | Instagram Footer | new tab | Add '(opens in new tab)' to text |
| https://www.linkedin.com/showcase/sleepi… | LinkedIn Footer | new tab | Add '(opens in new tab)' to text |
| https://www.tiktok.com/@sleepisthefounda… | TikTok Footer | new tab | Add '(opens in new tab)' to text |
| /best-mattress | I need a new mattress | img no alt | Add alt attribute to the image |
| /best-pillows | I need a new pillow | img no alt | Add alt attribute to the image |
| /sleep-quiz | NewNewTake our sleep quiz | img no alt | Add alt attribute to the image |
| https://www.sleepfoundation.org/discover… | 10% OFF20% OFFI want an at-hom… | img no alt | Add alt attribute to the image |
| /top-sleep-aids | I need a sleep aid | img no alt | Add alt attribute to the image |
| /snoring-quiz | I want to stop snoring | img no alt | Add alt attribute to the image |
| /best-mattress | Find Your Mattress | new tab | Add '(opens in new tab)' to text |
| /discover-at-home-sleep-apnea-test | Take The Test | new tab | Add '(opens in new tab)' to text |
| https://www.sleepfoundation.org/research… | Visit Our Test Lab | new tab | Add '(opens in new tab)' to text |
| https://www.facebook.com/sleepisthefound… | Facebook contact us | new tab | Add '(opens in new tab)' to text |
| https://twitter.com/sleepisthefound | Twitter contact us | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/c/SleepIsTheFoun… | YouTube contact us | new tab | Add '(opens in new tab)' to text |
| https://www.instagram.com/sleepisthefoun… | Instagram contact us | new tab | Add '(opens in new tab)' to text |
| https://www.linkedin.com/showcase/sleepi… | LinkedIn contact us | new tab | Add '(opens in new tab)' to text |
| https://www.tiktok.com/@sleepisthefounda… | TikTok contact us | new tab | Add '(opens in new tab)' to text |
| https://corporate.sleepdoctor.com/ | Sleep Doctor Holdings | new tab | Add '(opens in new tab)' to text |
| https://www.sleepfoundation.org/privacy-… | 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 |
| <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 |
| <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 |
| <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 |
| <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 |
| <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 |
Image-only links need alt text on the image (or aria-label on the link) so screen readers can announce them.
a[href="/best-mattress"]; a[href="/best-pillows"]; a[href="/sleep-quiz"]; a[href="https://www.sleepfoundation.org/discover-at-home-sleep-apnea-test?utm_cta_loc…"]; a[href="/top-sleep-aids"]; a[href="/snoring-quiz"]
Image-only links with no alt are unidentifiable to screen-reader users — link's destination is invisible.
Source: WCAG 2.1 SC 2.4.4
Add '(opens in new tab)' to link text or aria-label.
https://www.facebook.com/sleepisthefoundation/; https://twitter.com/sleepisthefound; https://www.youtube.com/c/SleepIsTheFoundation; https://www.instagram.com/sleepisthefoundation; https://www.linkedin.com/showcase/sleepisthefoundation; https://www.tiktok.com/@sleepisthefoundation; /best-mattress; /discover-at-home-sleep-apnea-test; https://www.sleepfoundation.org/research-methodology; https://www.facebook.com/sleepisthefoundation/ (+8 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.dsk-card-btn (#1176 on page); button.mbl-btn (#1178 on page); button.mbl-btn (#1179 on page); button.mbl-btn (#1180 on page); button.dsk-card-btn (#1181 on page); button.dsk-card-btn (#1230 on page); button.mbl-btn (#1232 on page); button.mbl-btn (#1233 on page); button.mbl-btn (#1234 on page); button.dsk-card-btn (#1235 on page) (+7 more)
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
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
CLandmark StructureAction11 landmarksREVIEW
Screen reader users cannot quickly navigate to the primary content. Wrap your main content in <main>.
Without a <main> landmark, screen-reader users can't skip past the navigation to the page content — every page starts with re-reading the menu.
Learn more ▾ ▴
The <main> element marks the page's primary content area. Assistive tech offers a 'jump to main' shortcut — but only if <main> exists. Without it, every page navigation forces re-reading the header. Wrap your primary content in a single <main>.
Source: WAI-ARIA / WCAG 2.4.1
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
CForm AccessibilityAction3 of 42 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #mobile-search-menu | checkbox | mobile search toggle | aria-label |
| s | text | none | |
| s | text | Search Field | aria-label |
| #mattresses-commercial | radio | Mattresses | for/id |
| #bedding-commercial | radio | Bedding | for/id |
| #sleep_solutions-commercial | radio | Sleep Solutions | for/id |
| #mattresses | radio | Mattresses | for/id |
| #best_of | checkbox | Best of | for/id |
| #reviews | checkbox | Reviews | for/id |
| #compare | checkbox | Compare | for/id |
| #bedding | radio | Bedding | for/id |
| #pillows_&_bedding | checkbox | Pillows & Bedding | for/id |
| #mattress_toppers_&_more | checkbox | Mattress Toppers & More | for/id |
| #sleep_solutions | radio | Sleep Solutions | for/id |
| #get_sleep_tested | checkbox | Get Sleep Tested | for/id |
| #sleep_therapy | checkbox | Sleep Therapy | for/id |
| #sleep_environment | checkbox | Sleep Environment | for/id |
| #sleep_health | radio | Sleep Health | for/id |
| #sleep_disorders | checkbox | Sleep Disorders | for/id |
| #improve_your_sleep | checkbox | Improve Your Sleep | for/id |
| #understand_your_sleep | checkbox | Understand Your Sleep | for/id |
| #about_us | radio | About Us | for/id |
| #who_we_are | checkbox | Who We Are | for/id |
| #ft-tab-block_aa412d2e92bc282966cc93ef39bb3888-1 | radio | Mattresses | for/id |
| #ft-tab-block_aa412d2e92bc282966cc93ef39bb3888-2 | radio | Pillows | for/id |
| #ft-tab-block_aa412d2e92bc282966cc93ef39bb3888-3 | radio | Home Sleep Test | for/id |
| #ft-tab-block_aa412d2e92bc282966cc93ef39bb3888-4 | radio | CPAP | for/id |
| #category-block_cc4c375edd141fe4a253e317c5c38c26-0 | radio | Sleep Apnea | for/id |
| #category-block_cc4c375edd141fe4a253e317c5c38c26-1 | radio | Insomnia | for/id |
| #category-block_cc4c375edd141fe4a253e317c5c38c26-2 | radio | Snoring | for/id |
| #category-block_cc4c375edd141fe4a253e317c5c38c26-3 | radio | Sleep Aids | for/id |
| #category-block_cc4c375edd141fe4a253e317c5c38c26-4 | radio | Baby Sleep | for/id |
| s | text | Search Field | aria-label |
| #ot-group-id-BG16 | checkbox | Selling/Sharing/Targeted Advertising | 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 |
| #mobile-search-menu | checkbox | (none) | none |
| #mobile-menu | checkbox | (none) | none |
| #mobile-menu | checkbox | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<input type="checkbox" id="mobile-search-menu">; <input type="checkbox" id="mobile-menu">; <input type="checkbox" id="mobile-menu">
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
B404 Error PageHTTP 404, custom pageREVIEW
BFavicon & Branding5 icon(s) detectedREVIEW
AHeading Hierarchy25 headingsPASS
- H1 Home
- H1 Your Trusted Sleep Advocate duplicate H1
- H2 Expert-Tested So You Wake Up Rested
- H2 Latest in
- H2 Sleep Foundation Helps Millions of People Improve their Sleep
- H3 Best Mattresses 2026 – Our Top 8 Picks of the Year!
- H3 How Does a CPAP Machine Work? – Sleep Apnea Therapies Explained
- H3 The Best Anti-Snoring Mouthguards! – Our Top Picks
- H3 Ultimate Guide to Melatonin: How Much Should You Take and Is it Safe?
- H3 5 Simple Tips For Getting a Good Night’s Sleep
- H3 Best Mattresses 2026 – Our Top 8 Picks of the Year!
- H3 How Does a CPAP Machine Work? – Sleep Apnea Therapies Explained
- H3 The Best Anti-Snoring Mouthguards! – Our Top Picks
- H3 Ultimate Guide to Melatonin: How Much Should You Take and Is it Safe?
- H3 5 Simple Tips For Getting a Good Night’s Sleep
- H2 Sign Up for Better Sleep
- H3 Explore Sleep Foundation
- H2 Opt Out of Sell/Share/Targeted Advertising
- H3 Manage Consent Preferences
- H4 Strictly Necessary Cookies
- H5 Functional Cookies
- H4 Selling/Sharing/Targeted Advertising
- H5 Targeting Cookies
- H5 Performance Cookies
- H3 Cookie List
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
A+Alt Text QualityAll 100 images OKPASS
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 Home | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h1 Your Trusted Sleep A… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h2 Expert-Tested So You… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h2 Latest in | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h2 Sleep Foundation Hel… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h2 Sign Up for Better S… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h2 Opt Out of Sell/Shar… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Best Mattresses 2026… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 How Does a CPAP Mach… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 The Best Anti-Snorin… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Ultimate Guide to Me… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 5 Simple Tips For Ge… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Best Mattresses 2026… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 How Does a CPAP Mach… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 The Best Anti-Snorin… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Ultimate Guide to Me… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 5 Simple Tips For Ge… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Explore Sleep Founda… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Manage Consent Prefe… | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | Pass |
| h3 Cookie List | 16.35:1 | 3.0:1 | #000000 | #DCE4EC | 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 95/100 — 1 failing, 30 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.
Names and labels
When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn how to make buttons more accessible.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.ft-item > div.rs > div.dsk-btn-container > button.dsk-card-btn div.ft-item > div.rs > div.dsk-btn-container > button.dsk-card-btn |
div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn |
div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn |
div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn div.rs > div.dsk-btn-container > div.mbl-btn-container > button.mbl-btn |
div.ft-item > div.rs > div.dsk-btn-container > button.dsk-card-btn div.ft-item > div.rs > div.dsk-btn-container > button.dsk-card-btn |
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.