Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLandmark StructureAction1 landmarksFIX
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
Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.
Without a skip-nav link, keyboard users tab through every nav item before reaching content — every page, every visit.
Learn more ▾ ▴
WCAG 2.4.1 (Bypass Blocks) requires a mechanism to skip past repeated content. The standard implementation is a 'Skip to main content' link that's the first focusable element, visually hidden until focused. Three lines of HTML + four of CSS.
Source: WCAG 2.1 SC 2.4.1
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
C404 Error PageActionHTTP 404, custom pageREVIEW
BFavicon & Branding7 icon(s) detectedREVIEW
A+Heading Hierarchy20 headingsPASS
- H1 A pomodoro timer for focus, study sessions, and virtual coworking
- H2 See who else is focusing in real-time
- H2 Why FocusLive works well for repeatable focus
- H2 Use FocusLive when starting is the hardest part
- H3 Pomodoro timer for deep work
- H3 Online study timer
- H3 Body doubling for accountability
- H2 Frequently asked questions
- H3 What is FocusLive?
- H3 Is FocusLive good for studying?
- H3 Do I need an account to use the timer?
- H2 Explore more FocusLive pages
- H3 Pomodoro Timer
- H3 Study Timer
- H3 Body Doubling
- H3 Virtual Coworking
- H2 Recent writing on focus, study, and productivity
- H3 What Is Virtual Body Doubling? (And Why It Works Better Than You Think)
- H3 Product
- H3 Legal
A+Heading Text QualityAll 20 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 3 images OKPASS
A+Form AccessibilityNo form controlsPASS
ALink & Button Quality1 issue(s) across 16 links and 2 buttonsPASS
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| <button> | (empty) | empty | Add button text or aria-label |
Icon-only buttons need an aria-label so screen readers can announce them.
button.btn (#70 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
A+Form Input TypesNo form controls on this pagePASS
A+Form Input QualityNo form controls on this pagePASS
A+Mobile Keyboard & AutofillNo form controls -- mobile keyboard check is N/APASS
A+Document LanguageLang attribute set to "en"PASS
A+Tabindex Anti-PatternsNo explicit tabindex attributes foundPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A+Tap Target AdequacyAll tap targets meet WCAG 2.5.5/2.5.8 sizingPASS
A+Mobile-Readable Font SizesAll 80 visible text node(s) render at >= 12 CSS pixelsPASS
A+Web ManifestPWA-readyPASS
A+PWA DepthNo PWA depth issues detectedPASS
A+Mobile UX Depth1 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 |
|---|---|---|---|---|---|
| h1 A pomodoro timer for… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 See who else is focu… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Why | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 works well for repea… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Use | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 when starting is the… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Frequently asked que… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Explore more | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 pages | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Recent writing on fo… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Pomodoro timer for d… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Online study timer | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Body doubling for ac… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 What is FocusLive? | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Is FocusLive good fo… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Do I need an account… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Pomodoro Timer | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Study Timer | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Body Doubling | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h3 Virtual Coworking | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | 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.
ALighthouse Accessibility AuditsScore 94/100 — 2 failing, 21 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 |
|---|
Live div.flex > a.flex > span.text-base-content > span.text-primary |
Focus Time section.mx-auto > div.flex > div.flex > button.px-3 |
POMODORO TIMER div.w-full > section.bg-base-100 > div.mx-auto > p.mb-3 |
Live div > h2.text-3xl > span.text-base-content > span.text-primary |
Live div.max-w-2xl > h2.text-3xl > span.text-base-content > span.text-primary |
Live div.mx-auto > h2.text-3xl > span.text-base-content > span.text-primary |
FROM THE BLOG div.mx-auto > div.flex > div > p.text-sm |
NEUROSCIENCE & PRODUCTIVITY section > div.mx-auto > a.mt-8 > p.text-xs |
Read the article section > div.mx-auto > a.mt-8 > p.mt-6 |
Live div.flex-1 > a.flex > span.text-base-content > span.text-primary |
Copyright © 2026 - All rights reserved. div.max-w-7xl > div.flex > div.flex-1 > p.mt-6 |
These are opportunities to improve the legibility of your content.
Best practices
One main landmark helps screen reader users navigate a web page. Learn more about landmarks.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These items highlight common accessibility best practices.