Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.FWeb ManifestActionValid manifestFIX
DDark Mode SupportActionTheme color onlyFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
BLandmark Structure5 landmarksREVIEW
A page should have only one <main> landmark.
Multiple <main> elements violate the spec — there must be exactly one per page.
Learn more ▾ ▴
HTML5 spec: 'authors must not include more than one main element' visible to AT at the same time. Multiple <main>s confuse AT and break the 'jump to main content' shortcut. Refactor to a single <main> with nested <section>/<article>.
Source: HTML5 spec
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
B404 Error PageHTTP 404, custom pageREVIEW
AHeading Hierarchy43 headingsPASS
- H2 Font Awesome
- H2 Font Awesome Elsewhere
- H1 Font Awesome. Icons. Easy. Done.
- H2 Font Awesome 7
- H2 Link to Start for Free on this page No Reservations Required
- H1 1 line of code… 1 million+ icons. duplicate H1
- H2 Why do you need my email address?
- H2 Link to Announcing Font Awesome 7 on this page New Recipe. Same Great Taste.
- H2 Font Awesome 7 Pro
- H3 Revamped + Refreshed Icons
- H3 Fresh New Icons
- H3 New Modifiers!
- H3 Icon Upload!
- H2 Included Icon Packs
- H2 Link to New Icon Packs on this page Hot Off the Griddle
- H1 New Icon Packs Pro+ duplicate H1
- H2 Link to Tech Updates on this page Only the Freshest Ingredients
- H2 Tech Updates
- H3 Faster Load Times!
- H3 Toolkit Updates!
- H3 Consistent Icon Widths!
- H3 Improved Accessibility!
- H3 Great for Developers
- H3 Great for Designers
- H3 Great for Content Creators
- H2 Link to Styling Toolkit on this page Seasoned to Perfection
- H2 Styling Toolkit
- H2 Link to Today's Specials on this page Today's Specials
- H1 Go Pro (or Pro+) duplicate H1
- H2 Font Awesome 7
- H2 Proudly Open Source
- H3 Always Free
- H3 Support Open Source
- H3 No Shenanigans
- H3 Font Awesome is one of the top open source projects on GitHub.
- H2 The Web's Default Icon Set, Used on Over 200 Million Sites
- H2 Introducing Build Awesome!
- H2 Font Awesome Font Awesome Go Make Something Awesome
- H3 Awesomeverse
- H3 Font Awesome
- H3 Community
- H3 Help
- H2 Cookie. Cookie. Cookie.
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 7 images OKPASS
AForm Accessibility1 of 38 controls have issuesPASS
| Control | Type | Label | Method |
|---|---|---|---|
| #icons-search | text | Search for Icons | for/id |
| Enter your email to get started start with a free Kit! | for/id | ||
| #accept-policies | checkbox | none | |
| #icon_family | select | Icon Family | for/id |
| #color-none | radio | Default Color | for/id |
| #color-yellow | radio | yellow | for/id |
| #color-teal | radio | teal | for/id |
| #color-blue | radio | blue | for/id |
| #color-violet | radio | violet | for/id |
| #color-custom | radio | none | |
| #size-2xs | radio | 2xs | for/id |
| #size-xs | radio | xs | for/id |
| #size-sm | radio | sm | for/id |
| #size-none | radio | Default Size | for/id |
| #size-lg | radio | lg | for/id |
| #size-xl | radio | xl | for/id |
| #size-2xl | radio | 2xl | for/id |
| #rotate-none | radio | No Rotation | for/id |
| #rotate-90 | radio | 90° | for/id |
| #rotate-180 | radio | 180° | for/id |
| #rotate-270 | radio | 270° | for/id |
| #rotate-custom | radio | Rotate custom | for/id |
| #rotate-custom | number | Rotate custom | for/id |
| #flip-none | radio | No Flip | for/id |
| #flip-horizontal | radio | Flip Horizontal | for/id |
| #flip-vertical | radio | Flip Vertical | for/id |
| #flip-both | radio | Flip Both | for/id |
| #animations-none | radio | No Animation | for/id |
| #animations-beat | radio | Beat | for/id |
| #animations-beat-fade | radio | Beat Fade | for/id |
| #animations-bounce | radio | Bounce | for/id |
| #animations-fade | radio | Fade | for/id |
| #animations-flip | radio | Flip | for/id |
| #animations-shake | radio | Shake | for/id |
| #animations-spin | radio | Spin | for/id |
| #animations-spin-reverse | radio | Spin Reverse | for/id |
| #animations-spin-pulse | radio | Spin Pulse | for/id |
| #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-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
ALink & Button Quality138 links, 28 buttons — all OKPASS
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://fontawesome.typeform.com/survey2… | Take the survey | new tab | Add '(opens in new tab)' to text |
| https://github.com/fortawesome/Font-Awes… | GitHub | new tab | Add '(opens in new tab)' to text |
| https://www.podcastawesome.com | Podcast Awesome | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@font.awesome | YouTube | new tab | Add '(opens in new tab)' to text |
| https://bsky.app/profile/fontawesome.com | Bluesky | new tab | Add '(opens in new tab)' to text |
| https://mastodon.social/@webawesome | Mastodon | new tab | Add '(opens in new tab)' to text |
| https://x.com/fontawesome | Twitter (X) | new tab | Add '(opens in new tab)' to text |
| https://www.threads.com/@font.awesome | Threads | new tab | Add '(opens in new tab)' to text |
| https://www.figma.com/community/file/152… | Figma Component | new tab | Add '(opens in new tab)' to text |
| https://github.com/FortAwesome/Font-Awes… | Font Awesome is one of the top… | new tab | Add '(opens in new tab)' to text |
| https://dndbeyond.com | Dungeons & Dragons | new tab | Add '(opens in new tab)' to text |
| https://aaa.com | AAA | new tab | Add '(opens in new tab)' to text |
| https://un.org | United Nations | new tab | Add '(opens in new tab)' to text |
| https://ifixit.com | iFixit | new tab | Add '(opens in new tab)' to text |
| https://aws.amazon.com | Amazon Web Services | new tab | Add '(opens in new tab)' to text |
| https://www.kickstarter.com/projects/fon… | Check Out the Build Awesome Ki… | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Benton… | Bentonville | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Boston… | Boston | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Chicag… | Chicago | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Grand … | Grand Rapids | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Joplin… | Joplin | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Kansas… | Kansas City | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Seattl… | Seattle | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Tampa,… | Tampa | new tab | Add '(opens in new tab)' to text |
| https://www.google.com/maps/place/Vergen… | Vergennes | new tab | Add '(opens in new tab)' to text |
| https://blog.fontawesome.com | Blog Awesome | new tab | Add '(opens in new tab)' to text |
| https://github.com/FortAwesome/Font-Awes… | GitHub | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@font.awesome | YouTube | new tab | Add '(opens in new tab)' to text |
| https://www.threads.net/@font.awesome | Threads | new tab | Add '(opens in new tab)' to text |
| https://status.fortawesome.com/ | Status | new tab | Add '(opens in new tab)' to text |
| https://github.com/FortAwesome/Security-… | Read more here. | new tab | Add '(opens in new tab)' to text |
Add '(opens in new tab)' to link text or aria-label.
https://fontawesome.typeform.com/survey2026; https://github.com/fortawesome/Font-Awesome; https://www.podcastawesome.com; https://www.youtube.com/@font.awesome; https://bsky.app/profile/fontawesome.com; https://mastodon.social/@webawesome; https://x.com/fontawesome; https://www.threads.com/@font.awesome; https://www.figma.com/community/file/1529485083934388018/font-awesome-7-icon-…; https://github.com/FortAwesome/Font-Awesome (+21 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
AFavicon & Branding6 icon(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 1 line of code… 1 … | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h1 New Icon Packs | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h1 Go Pro (or Pro+) | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Font Awesome | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Font Awesome Elsewhe… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Font Awesome 7 | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 No Reservations Requ… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Why do you need my e… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 New Recipe. Same Gre… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Font Awesome 7 | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Included Icon Packs | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Hot Off the Griddle | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Only the Freshest In… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Tech Updates | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Seasoned to Perfecti… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Styling Toolkit | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Today's Specials | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Font Awesome 7 | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 Proudly Open Source | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | Pass |
| h2 The Web's Default Ic… | 18.58:1 | 3.0:1 | #000000 | #F0F1F3 | 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 96/100 — 2 failing, 35 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.container > button#trigger div.container > button#trigger |
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.
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 |
|---|
Start Using This Icon div.wrap-icon-details > div.icon-detail-use > div.display-flex > a.button |