Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.F404 Error PageActionHTTP 404, bare pageFIX
DPrint StylesheetActionNo print stylesFIX
CLink & Button QualityAction8 issue(s) across 47 links and 20 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://github.com/nodejs/node/blob/main… | Contribute | new tab | Add '(opens in new tab)' to text |
| https://training.linuxfoundation.org/ope… | Courses | new tab | Add '(opens in new tab)' to text |
| https://herodevs.com/?utm_source=nodejs-… | HeroDevs | new tab | Add '(opens in new tab)' to text |
| https://macstadium.com/?utm_source=nodej… | MacStadium | new tab | Add '(opens in new tab)' to text |
| https://www.digitalocean.com/?utm_source… | DigitalOcean | new tab | Add '(opens in new tab)' to text |
| https://vercel.com/?utm_source=nodejs-we… | Vercel | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/?utm_source=n… | Cloudflare | new tab | Add '(opens in new tab)' to text |
| https://nodesource.com/?utm_source=nodej… | NodeSource | new tab | Add '(opens in new tab)' to text |
| https://github.com/nodejs/node | (empty) | empty | Add link text or aria-label |
| https://discord.gg/nodejs | (empty) | empty | Add link text or aria-label |
| https://social.lfx.dev/@nodejs | (empty) | empty | Add link text or aria-label |
| https://bsky.app/profile/nodejs.org | (empty) | empty | Add link text or aria-label |
| https://twitter.com/nodejs | (empty) | empty | Add link text or aria-label |
| https://slack-invite.openjsf.org/ | (empty) | empty | Add link text or aria-label |
| https://www.linkedin.com/company/node-js | (empty) | empty | Add link text or aria-label |
| https://social.lfx.dev/@nodejs | (empty) | empty | Add link text or aria-label |
Links without text are announced as raw URLs by screen readers.
https://github.com/nodejs/node; https://discord.gg/nodejs; https://social.lfx.dev/@nodejs; https://bsky.app/profile/nodejs.org; https://twitter.com/nodejs; https://slack-invite.openjsf.org/; https://www.linkedin.com/company/node-js; https://social.lfx.dev/@nodejs
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
Add '(opens in new tab)' to link text or aria-label.
https://github.com/nodejs/node/blob/main/CONTRIBUTING.md; https://training.linuxfoundation.org/openjs/; https://herodevs.com/?utm_source=nodejs-website&utm_medium=Link; https://macstadium.com/?utm_source=nodejs-website&utm_medium=Link; https://www.digitalocean.com/?utm_source=nodejs-website&utm_medium=Link; https://vercel.com/?utm_source=nodejs-website&utm_medium=Link; https://www.cloudflare.com/?utm_source=nodejs-website&utm_medium=Link; https://nodesource.com/?utm_source=nodejs-website&utm_medium=Link
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
CFavicon & BrandingAction4 icon(s) detectedREVIEW
BWeb ManifestValid manifestREVIEW
BDark Mode SupportDark mode detectedREVIEW
Detection limited to meta tags and inline styles.
A+Landmark Structure3 landmarksPASS
A+Heading Hierarchy1 headingsPASS
- H1 Run JavaScript Everywhere
A+Alt Text QualityNo imagesPASS
A+Form AccessibilityNo form controlsPASS
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 Run JavaScript Every… | 19.84:1 | 3.0:1 | #000000 | #F5FAF2 | Pass |
| title Node.js — Run Java… | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Skip to content | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| span Learn | 20.99:1 | 4.5:1 | #000000 | #FFFFFE | Pass |
| span About | 20.81:1 | 4.5:1 | #000000 | #FEFEFD | Pass |
| span Download | 20.76:1 | 4.5:1 | #000000 | #FDFEFC | Pass |
| span Blog | 20.58:1 | 4.5:1 | #000000 | #FCFDFB | Pass |
| span Docs | 20.52:1 | 4.5:1 | #000000 | #FBFDF9 | Pass |
| span Contribute | 20.30:1 | 4.5:1 | #000000 | #F9FCF7 | Pass |
| span Courses | 20.11:1 | 4.5:1 | #000000 | #F8FBF5 | Pass |
| p Node.js® is a free,… | 19.62:1 | 4.5:1 | #000000 | #F3F9F0 | Pass |
| a Get Node.js® | 19.57:1 | 4.5:1 | #000000 | #F2F9EF | Pass |
| a Get Node.js® | 19.57:1 | 4.5:1 | #000000 | #F2F9EF | Pass |
| span Get security support | 19.62:1 | 4.5:1 | #000000 | #F3F9F0 | Pass |
| small for EOL Node.js vers… | 19.79:1 | 4.5:1 | #000000 | #F4FAF1 | Pass |
| span Node.js is proudly s… | 19.89:1 | 4.5:1 | #000000 | #F6FAF3 | Pass |
| a and more | 20.07:1 | 4.5:1 | #000000 | #F7FBF5 | Pass |
| button Create an HTTP Serve… | 20.30:1 | 4.5:1 | #000000 | #F9FCF7 | Pass |
| button Write Tests | 20.53:1 | 4.5:1 | #000000 | #FBFDFA | Pass |
| button Read and Hash a File | 20.71:1 | 4.5:1 | #000000 | #FCFEFB | 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, 28 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.