Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLink & Button QualityAction4 issue(s) across 84 links and 64 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://cursor.com/agents | Cloud ↗ | new tab | Add '(opens in new tab)' to text |
| https://cursor.com/marketplace | Marketplace ↗ | new tab | Add '(opens in new tab)' to text |
| /docs | Docs | new tab | Add '(opens in new tab)' to text |
| https://cursor.com/help | Help ↗ | new tab | Add '(opens in new tab)' to text |
| https://forum.cursor.com/ | Forum ↗ | new tab | Add '(opens in new tab)' to text |
| /dashboard | Sign in | new tab | Add '(opens in new tab)' to text |
| /docs/models | Explore models ↗ | new tab | Add '(opens in new tab)' to text |
| /docs/context/semantic-search | Learn about codebase indexing … | new tab | Add '(opens in new tab)' to text |
| /blog/composer-2-technical-report | Mar 27, 2026·ResearchA techni… | img no alt | Add alt attribute to the image |
| /blog/cursor-3 | Apr 2, 2026·ProductMeet the n… | img no alt | Add alt attribute to the image |
| /blog/composer-2 | Mar 19, 2026·ResearchIntroduc… | img no alt | Add alt attribute to the image |
| /blog/cursorbench | Mar 11, 2026·ResearchHow we c… | img no alt | Add alt attribute to the image |
| https://cursor.com/marketplace | Marketplace ↗ | new tab | Add '(opens in new tab)' to text |
| https://cursor.com/learn | Learn ↗ | new tab | Add '(opens in new tab)' to text |
| https://forum.cursor.com/ | Forum ↗ | new tab | Add '(opens in new tab)' to text |
| https://cursor.com/help | Help ↗ | new tab | Add '(opens in new tab)' to text |
| https://status.cursor.com/ | Status ↗ | new tab | Add '(opens in new tab)' to text |
| https://anysphere.inc/ | Anysphere ↗ | new tab | Add '(opens in new tab)' to text |
| https://x.com/cursor_ai | X ↗ | new tab | Add '(opens in new tab)' to text |
| https://www.linkedin.com/company/cursora… | LinkedIn ↗ | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@cursor_ai | YouTube ↗ | 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 |
Add '(opens in new tab)' to link text or aria-label.
https://cursor.com/agents; https://cursor.com/marketplace; /docs; https://cursor.com/help; https://forum.cursor.com/; /dashboard; /docs/models; /docs/context/semantic-search; https://cursor.com/marketplace; https://cursor.com/learn (+7 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
F404 Error PageActionHTTP 404, bare pageFIX
DPrint StylesheetActionNo print stylesFIX
BHeading Hierarchy24 headings, 1 skip(s)REVIEW
- H1 Built to make you extraordinarily productive, Cursor is the best way to code with AI.
- H2 Trusted every day by teams that build world-class software
- H3 Agents turn ideas into code
- H1 Mission Control Interface duplicate H1
- H2 Trigger
- H2 View Behavior
- H3 Works autonomously, runs in parallel
- H3 In every tool, at every step
- H1 #feature-realtime-sync duplicate H1
- H3 Magically accurate autocomplete skipped
- H2 The new way to build software.
- H2 Stay on the frontier
- H3 Use the best model for every task
- H3 Complete codebase understanding
- H3 Develop enduring software
- H2 Changelog
- H3 Cursor is an applied research team focused on building the future of software development.
- H2 Recent highlights
- H2 Try Cursor now.
- H3 Product
- H3 Resources
- H3 Company
- H3 Legal
- H3 Connect
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
BForm Accessibility2 of 2 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| message | textarea | (Plan, search, build anything...) | placeholder only |
| message | textarea | (Plan, search, build anything...) | placeholder only |
Placeholder text disappears on focus and is not a reliable label.
<textarea name="message">; <textarea name="message">
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
BDark Mode SupportDark mode detectedREVIEW
Detection limited to meta tags and inline styles.
ALandmark Structure11 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 31 images OKPASS
AFavicon & Branding9 icon(s) detectedPASS
A+Web ManifestPWA-readyPASS
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 Built to make you ex… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h1 Mission Control Inte… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h1 #feature-realtime-sy… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Trusted every day by… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Trigger | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 View Behavior | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 The new way to build… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Stay on the frontier | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Changelog | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Recent highlights | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h2 Try Cursor now. | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Agents turn ideas in… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Works autonomously, … | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 In every tool, at ev… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Magically accurate a… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Use the best model f… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Complete codebase un… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Develop enduring sof… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Cursor is an applied… | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | Pass |
| h3 Product | 19.57:1 | 3.0:1 | #000000 | #F7F7F4 | 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 93/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.
ARIA
Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. Learn how `aria-hidden` affects focusable elements.
Informational: a Permissions-Policy directive showing feature -> allowed origins.
Source: MDN Permissions-Policy
| Failing Elements |
|---|
Cursor
IN PROGRESS 1
Analyze Tab vs Agent Usage Patterns
Fetching data
READY FO… div.relative > div.no-drag-img > div.absolute > div#demo-window-cursor-ide |
Cursor
feature-prd.md
presence.ts
Plans
feature-prd.md
Composer 2
Build
Mission… div.z-20 > div.no-drag-img > div.absolute > div#demo-window-agent-react-hooks |
Slack
#feature-realtime-sync
8 members
swhitmore
5m
i wanna be able to go to cu… div.z-20 > div.no-drag-img > div.absolute > div#demo-window-slack |
GitHub Pull Request
leerob
5m ago
@cursor can you review this PR?
cursor
bot
re… div.z-20 > div.no-drag-img > div.absolute > div#demo-window-github-pr |
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
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 |
|---|
Accelerate development by handing off tasks to Cursor, while you focus on makin… div.col-span-full > div.w-full > div.type-base > div.type-base |
Learn about agentic development → div.col-span-full > div.w-full > div.mt-v8/12 > span.btn-tertiary |
Agents use their own computers to build, test, and demo features end to end for… div.col-span-full > div.w-full > div.type-base > div.type-base |
Learn about cloud agents → div.w-full > div.mt-v1 > div.flex > a.btn-tertiary |
Explored div.px-4 > div.space-y-1.5 > div.type-product-base > span.flex-shrink-0 |
Worked for 14m 22s div.h-full > div.px-4 > div.space-y-1.5 > div.type-product-base |
Processed div.px-4 > div.space-y-1.5 > div.type-product-base > span.flex-shrink-0 |
Add a follow up... div.flex > div.bg-theme-product-chrome > div.border-theme-border-02 > div.text-theme-text-sec |
Agent div.flex > div.relative > button.type-product-sm > span |
Opus 4.6 div.flex > div.relative > button.text-theme-text-sec > span |
Cursor reviews your PRs in GitHub, collaborates in Slack, and runs in your term… div.col-span-full > div.w-full > div.type-base > div.type-base |
Our specialized Tab model predicts your next action with striking speed and pre… div.col-span-full > div.w-full > div.type-base > div.type-base |
General Partner, Y Combinator div.mt-v2 > figcaption > div.type-sm > span.type-sm |
President & CEO, NVIDIA div.mt-v2 > figcaption > div.type-sm > span.type-sm |
CEO, Eureka Labs div.mt-v2 > figcaption > div.type-sm > span.type-sm |
Choose between every cutting-edge model from OpenAI, Anthropic, Gemini, xAI, an… div.card > div.type-base > div > div.text-theme-text-sec |
Explore models ↗ div.card > div.type-base > div.mt-auto > a.btn-tertiary |
Agent div.flex > div.flex > button.bg-theme-card-03-hex > span |
Opus 4.6 div.flex > div.relative > button.text-theme-text-sec > span |
Suggested div.p-1 > button.text-theme-text-sec > span.flex > span.text-theme-text-tertiary |
Cursor learns how your codebase works, no matter the scale or complexity. div.card > div.type-base > div > div.text-theme-text-sec |
Learn about codebase indexing ↗ div.card > div.type-base > div.mt-auto > a.btn-tertiary |
Trusted by over half of the Fortune 500 to accelerate development, securely and… div.card > div.type-base > div > div.text-theme-text-sec |
Explore enterprise → div.card > div.type-base > div.mt-auto > a.btn-tertiary |
3.0 article.flex > a.card > div.text-theme-text-mid > span.label |
Apr 2, 2026 article.flex > a.card > div.text-theme-text-mid > time.type-base |
Mar 25, 2026 article.flex > a.card > div.text-theme-text-mid > time.type-base |
Mar 19, 2026 article.flex > a.card > div.text-theme-text-mid > time.type-base |
Mar 11, 2026 article.flex > a.card > div.text-theme-text-mid > time.type-base |
See what's new in Cursor → main#main > section.bg-theme-bg > div.container > a.btn-text |
Join us
→ div.w-full > div.mt-v8/12 > div.flex > a.btn-tertiary |
Mar 27, 2026 a.card > div.flex > div.type-base > time.type-base |
Research a.card > div.flex > div.type-base > span |
Sasha Rush div.flex > div.mt-v8/12 > div.type-base > span |
3 min read div.mt-v8/12 > div.type-base > span.whitespace-nowrap > span |
Apr 2, 2026 a.card > div.flex > div.type-base > time.type-base |
Product a.card > div.flex > div.type-base > span |
Michael & Sualeh div.flex > div.mt-v8/12 > div.type-base > span |
10 min read div.mt-v8/12 > div.type-base > span.whitespace-nowrap > span |
Mar 19, 2026 a.card > div.flex > div.type-base > time.type-base |
Research a.card > div.flex > div.type-base > span |
Cursor Team div.flex > div.mt-v8/12 > div.type-base > span |
3 min read div.mt-v8/12 > div.type-base > span.whitespace-nowrap > span |
Mar 11, 2026 a.card > div.flex > div.type-base > time.type-base |
Research a.card > div.flex > div.type-base > span |
Naman Jain div.flex > div.mt-v8/12 > div.type-base > span |
7 min read div.mt-v8/12 > div.type-base > span.whitespace-nowrap > span |
View all blog posts → main#main > section.section > div.container > a.btn-text |
Product nav > div.gap-x-g1 > div > h3.type-base |
Resources nav > div.gap-x-g1 > div > h3.type-base |
Company nav > div.gap-x-g1 > div > h3.type-base |
Legal nav > div.gap-x-g1 > div > h3.type-base |
Connect nav > div.gap-x-g1 > div > h3.type-base |
© 2026 Anysphere, Inc. footer#site-footer > div.gap-v2 > div.text-theme-text-sec > small.type-base |
Anysphere, Inc. div.gap-v2 > div.text-theme-text-sec > small.type-base > a.hover:text-theme-text |
SOC 2 Certified div.gap-v2 > div.text-theme-text-sec > small.type-base > a.hover:text-theme-text |
These are opportunities to improve the legibility of your content.