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 Structure8 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 Sizes90% of visible text renders at >= 12 CSS px (52 below threshold)REVIEW
BDark Mode SupportDark mode detectedREVIEW
Detection limited to meta tags and inline styles.
A+Heading Hierarchy62 headingsPASS
- H1 Free BaZi Calculator
- H2 Enter your birth details
- H2 Complete Four Pillars chart with solar alignment
- H2 What BaZi is, and why precision matters
- H3 What it is
- H3 Why precision matters
- H3 How to start
- H2 What your chart includes
- H3 Four Pillars
- H3 Day Master
- H3 Ten Gods
- H3 Five Elements
- H3 Luck Pillars
- H3 Compare
- H2 How to calculate your BaZi chart
- H3 Enter the birth date
- H3 Enter the birth time
- H3 Pick the birth city
- H3 Read the chart
- H2 Example chart
- H3 Four Pillars
- H3 Day Master
- H3 Five Elements distribution
- H3 Ten Gods
- H3 Luck Pillars (大运)
- H2 How we calculate
- H3 True solar time
- H3 Solar terms set year and month
- H3 The five-element cycles
- H2 More calculators
- H3 Liu Yao
- H3 Mei Hua Yi Shu
- H3 Qi Men Dun Jia
- H3 Zi Wei Dou Shu
- H3 Chinese Almanac
- H3 Learn
- H2 What people use it for
- H3 Learning BaZi
- H3 Checking a hand-cast chart
- H3 Uncertain birth hour
- H3 Born abroad
- H3 Comparing two charts
- H3 Casting and date lookup
- H2 Latest articles
- H2 How the BaZi calculator works
- H2 What is BaZi?
- H2 What people use it for
- H2 Calculator vs charting by hand
- H2 The ten Day Masters
- H2 The Ten Gods
- H2 Five elements and strength
- H2 Luck pillars and annual pillars
- H2 Focused BaZi tools
- H2 I Ching and other tools
- H2 Learn to read your chart
- H2 Glossary
- H2 Conventions and comparisons
- H2 Reading your first chart in five minutes
- H2 Accuracy and testing
- H2 Privacy and accounts
- H2 Ready? Scroll up and calculate your chart.
- H2 FAQ
A+Heading Text QualityAll 62 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 1 images OKPASS
A+Form AccessibilityAll 13 controls labeledPASS
| Control | Type | Label | Method |
|---|---|---|---|
| select | select | Year | none |
| select | select | Month | none |
| select | select | Day | none |
| select | select | Birth time | none |
| input | time | Exact time | aria-label |
| select | select | Traditional gender rule | none |
| input | input | Birth city | none |
| select | select | Time used for day & hour pillars | none |
| input | number | Expert: override UTC offset (minutes) | none |
| input | input | Reason (saved with the chart) | none |
| #mm-includes | checkbox | Show all 6Show less | for/id |
| #mm-method | checkbox | Show the full methodShow less | for/id |
| #mm-guide | checkbox | Read the full guideCollapse guide | for/id |
A+Link & Button Quality167 links, 16 buttons — all OKPASS
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://www.geonames.org | GeoNames | new tab | Add '(opens in new tab)' to text |
Add '(opens in new tab)' to link text or aria-label.
https://www.geonames.org
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 Types1 input(s) using type=text where a specific type would helpPASS
A+Form Input Quality13 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
AFavicon & Branding9 icon(s) detectedPASS
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 Free | 17.18:1 | 3.0:1 | #000000 | #DEEBEA | Pass |
| h1 Calculator | 17.40:1 | 3.0:1 | #000000 | #E1ECEB | Pass |
| h2 Enter your birth det… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Complete Four Pillar… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 What BaZi is, and wh… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 What your chart incl… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 How to calculate you… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Example chart | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 How we calculate | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 More calculators | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 What people use it f… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Latest articles | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 How the BaZi calcula… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 What is BaZi? | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 What people use it f… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Calculator vs charti… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 The ten Day Masters | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 The Ten Gods | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Five elements and st… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | Pass |
| h2 Luck pillars and ann… | 16.97:1 | 3.0:1 | #000000 | #E7E7E6 | 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 — 3 failing, 31 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 |
|---|
Calculate my chart div.mx-auto > div > div.mt-7 > a.btn-teal |
EXAMPLE div.mx-auto > div.window > div.window-bar > b.window-badge |
02 / YOU GET div > div.showcase > div.showcase-col > p.showcase-num |
03 / THREE STEPS div > div.showcase > div.showcase-col > p.showcase-num |
City not listed? Enter time zone and coordinates manually section#birth-form > form.flex > div.relative > button.mt-1 |
Calculate My Chart div.no-print > section#birth-form > form.flex > button.inline-flex |
15S CHART PREVIEW div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
OVERVIEW div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
WHAT div.grid-rule > div.p-6 > div.flex > span.font-mono |
WHY div.grid-rule > div.p-6 > div.flex > span.font-mono |
HOW div.grid-rule > div.p-6 > div.flex > span.font-mono |
INSIDE THE CHART div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
01 div.grid > ol.steps > li > span.step-num |
02 div.grid > ol.steps > li > span.step-num |
03 div.grid > ol.steps > li > span.step-num |
04 div.grid > ol.steps > li > span.step-num |
EXAMPLE div.no-print > section#example > div.mx-auto > p.eyebrow |
●
Metal tr > td.rounded-xl > div.flex > span.inline-flex |
●
Metal tr > td.rounded-xl > div.flex > span.inline-flex |
▲
Wood tbody > tr > th.w-24 > span.inline-flex |
■
Earth tbody > tr > th.w-24 > span.inline-flex |
METHOD div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
MORE TOOLS div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
USE CASES div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
ARTICLES div.no-print > section.scroll-mt-24 > div.mx-auto > p.eyebrow |
Install App div.no-print > div.fixed > div.group > button.inline-flex |
Calculate my chart footer.no-print > div.container > div.flex > a.btn-teal |
BaZi and the I Ching are traditional cultural systems. Results here are for stu… div.container > div.grid > div.col-span-full > p.mt-4 |
Low-contrast text is difficult or impossible for many users to read. Link text that is discernible improves the experience for users with low vision. Learn how to make links distinguishable.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
methodology section#how-it-works > div.mt-5 > p.leading-7 > a.text-primary |
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.no-print > div.fixed > div.group > button.inline-flex |