Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.F404 Error PageActionHTTP 404, bare pageFIX
DPrint StylesheetActionNo print stylesFIX
BLandmark Structure7 landmarksREVIEW
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
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
BMobile-Readable Font Sizes91% of visible text renders at >= 12 CSS px (24 below threshold)REVIEW
BFavicon & Branding6 icon(s) detectedREVIEW
BDark Mode SupportDark mode detectedREVIEW
Detection limited to meta tags and inline styles.
A+Heading Hierarchy58 headingsPASS
- H1 Chinese Face Reading from Your Photo
- H2 What is Chinese face reading?
- H2 Every area of the face, explained
- H3 Eyebrows · 眉
- H3 Eyes · 眼
- H3 Nose · 鼻
- H3 Mouth · 口
- H3 Ears · 耳
- H3 Forehead · 额
- H3 Chin · 颏
- H3 Three sections · 三停
- H3 Twelve palaces · 十二宫
- H2 Your face, mapped the classical way
- H3 What you get
- H2 How it works
- H3 Upload one photo
- H3 Photo check
- H3 Your face map
- H3 Keep or delete
- H2 From a plain photo to a twelve-palace map
- H2 One tap, three layers
- H3 1. What is visible
- H3 2. Traditional context
- H3 3. Explore the meaning
- H2 Ways people use ChineseFace
- H3 Learn the tradition
- H3 Cultural curiosity
- H3 Art and writing
- H3 Teaching
- H3 Keep a keepsake
- H3 Compare photos
- H2 What a good reading feels like
- H2 Your face is personal. We treat it that way.
- H3 Photo deleted after processing
- H3 No identification
- H3 Delete any reading
- H3 Adults, own photo only
- H3 AI clearly disclosed
- H3 No sensitive guesses
- H2 Start free, unlock when you want more
- H3 Free preview
- H3 Single reading
- H3 5-pack
- H3 Pro
- H2 Guides to Chinese face reading
- H3 What Is Chinese Face Reading? A Clear Guide to Mian Xiang
- H3 The Three Sections of the Face (San Ting) Explained
- H3 A Short History of Chinese Face Reading (Mian Xiang)
- H2 Related guides & tools
- H2 Questions
- H3 What is Chinese face reading?
- H3 What happens to my photo?
- H3 What is free?
- H3 What does the full reading add?
- H3 Is the AI deciding what my face means?
- H3 Can I delete my reading?
- H3 Who can use it?
- H2 See your face as the tradition mapped it
A+Heading Text QualityAll 58 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 13 images OKPASS
AForm Accessibility1 of 2 controls have issuesPASS
| Control | Type | Label | Method |
|---|---|---|---|
| input | checkbox | none | |
| input | file | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<input type="file">
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
A+Link & Button Quality75 links, 8 buttons — all OKPASS
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| mailto:ChineseFace <support@chineseface.… | new tab | Add '(opens in new tab)' to text |
Add '(opens in new tab)' to link text or aria-label.
mailto:ChineseFace <support@chineseface.app>
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
A+Form Input Types2 form control(s) checked, no type mismatchesPASS
A+Form Input Quality2 form control(s) checked, no input-semantic issuesPASS
A+Mobile Keyboard & AutofillNo autofill-eligible form controlsPASS
A+Document LanguageLang attribute set to "en"PASS
A+Tabindex Anti-Patterns1 explicit tabindex attribute(s) checked, no anti-patternsPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A+Tap Target AdequacyAll tap targets meet WCAG 2.5.5/2.5.8 sizingPASS
A+Web ManifestPWA-readyPASS
A+PWA Depth1 PWA signal(s) surfacedPASS
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 Chinese Face Reading | 20.83:1 | 3.0:1 | #000000 | #FFFEFC | Pass |
| h1 Your Photo | 20.83:1 | 3.0:1 | #000000 | #FFFEFC | Pass |
| h2 What is Chinese face… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Every area of the fa… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Your face, mapped th… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 How it works | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 From a plain photo t… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 One tap, three layer… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Ways people use Chin… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 What a good reading … | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Your face is persona… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Start free, unlock w… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Guides to Chinese fa… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Related guides & too… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 Questions | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h2 See your face as the… | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h3 Eyebrows · 眉 | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h3 Eyes · 眼 | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h3 Nose · 鼻 | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | Pass |
| h3 Mouth · 口 | 19.74:1 | 3.0:1 | #000000 | #F8F8F5 | 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, 27 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 |
|---|
面相 body.size-full > div.flex > footer.relative > span.glyph-watermark |
These are opportunities to improve the legibility of your content.
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 |
|---|
Install app div.flex > div.fixed > div.group > button.inline-flex |