Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DForm AccessibilityAction4 of 4 controls have issuesFIX
| Control | Type | Label | Method |
|---|---|---|---|
| #viNBCosaInput | text | (Village, local food…) | placeholder only |
| #viBnbDoveInput | text | (All of Italy) | placeholder only |
| #viBnbPaesaggio | select | (none) | none |
| #viBnbEsperienza | select | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<select id="viBnbPaesaggio">; <select id="viBnbEsperienza">
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
Placeholder text disappears on focus and is not a reliable label.
<input type="text" id="viNBCosaInput">; <input type="text" id="viBnbDoveInput">
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
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionTheme color onlyFIX
Detection limited to meta tags and inline styles.
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
The skip-link anchor (e.g., `href="#main"`) points at an ID that has no corresponding element on the page. Activating the link does nothing -- a silent WCAG 2.4.1 failure that the visual link presence hides. Add `id="main"` (or whichever matches the href) to the target landmark.
Skip link points at an ID that doesn't exist on the page. The link looks fine visually but does nothing when activated -- silent WCAG 2.4.1 failure.
Learn more ▾ ▴
Find the target landmark (typically <main> or the first <h1>) and add `id="..."` matching the skip link's href fragment. Test by tabbing to the skip link and pressing Enter -- focus should jump to the target.
Source: WCAG 2.1 SC 2.4.1
CLink & Button QualityAction3 issue(s) across 187 links and 31 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://www.villagesitaly.com/temi/sea/ | Sea | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/mount… | Mountains | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/hill/ | Hills | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/lake/ | Lakes | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/plain… | Plains | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/mount… | Mountains | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/hill/ | Hills | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/sea/ | Sea | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/plain… | Plains | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/lake/ | Lakes | img no alt | Add alt attribute to the image |
| https://unsplash.com/photos/haJ5Gjp5x8k | Photo by Rachel van Elk on Uns… | new tab | Add '(opens in new tab)' to text |
| https://unsplash.com/photos/2ZCPOtVGwyY | Photo by Vincenzo De Simone on… | new tab | Add '(opens in new tab)' to text |
| https://unsplash.com/photos/WUU-FnXu2sU | Photo by Gabriella Clare Marin… | new tab | Add '(opens in new tab)' to text |
| https://www.villagesitaly.com/temi/hill/ | Hill 752 villages | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/mount… | Mountain 653 villa… | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/sea/ | Sea 218 villages | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/plain… | Plains 413 village… | img no alt | Add alt attribute to the image |
| https://www.villagesitaly.com/temi/lake/ | Lakes 57 villages | img no alt | Add alt attribute to the image |
| https://t.me/villagesitaly | Telegram | new tab | Add '(opens in new tab)' to text |
| https://www.instagram.com/villagesitaly/ | new tab | Add '(opens in new tab)' to text | |
| https://www.facebook.com/profile.php?id=… | new tab | Add '(opens in new tab)' to text | |
| https://open.spotify.com/show/5dJC14YP7I… | Spotify | new tab | Add '(opens in new tab)' to text |
| https://podcasts.apple.com/us/podcast/vi… | Apple Podcasts | new tab | Add '(opens in new tab)' to text |
| https://music.amazon.com/podcasts/3eb3d9… | Amazon Music | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/playlist?list=PL… | YouTube | new tab | Add '(opens in new tab)' to text |
| https://www.wikipedia.org | Wikipedia | new tab | Add '(opens in new tab)' to text |
| https://www.wikidata.org | Wikidata | new tab | Add '(opens in new tab)' to text |
| https://commons.wikimedia.org | Wikimedia Commons | 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 |
Add '(opens in new tab)' to link text or aria-label.
https://unsplash.com/photos/haJ5Gjp5x8k; https://unsplash.com/photos/2ZCPOtVGwyY; https://unsplash.com/photos/WUU-FnXu2sU; https://t.me/villagesitaly; https://www.instagram.com/villagesitaly/; https://www.facebook.com/profile.php?id=61585524104330; https://open.spotify.com/show/5dJC14YP7IdfpTHmTnBdzi; https://podcasts.apple.com/us/podcast/villages-italy-italian-villages/id68131…; https://music.amazon.com/podcasts/3eb3d9df-19b8-4e96-acad-3aa1f2448921; https://www.youtube.com/playlist?list=PLVLjjfTJtjHw (+3 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
Icon-only buttons need an aria-label so screen readers can announce them.
button.vi-hybrid-quote-dot (#946 on page); button.vi-hybrid-quote-dot (#947 on page); button.vi-hybrid-quote-dot (#948 on page)
Buttons with no accessible text (icon-only, no aria-label) can't be activated by voice control or understood by screen readers.
Source: WCAG 2.1 SC 4.1.2
BMobile-Readable Font Sizes93% of visible text renders at >= 12 CSS px (9 below threshold)REVIEW
B404 Error PageHTTP 404, custom pageREVIEW
CFavicon & BrandingAction3 icon(s) detectedREVIEW
BLighthouse Accessibility AuditsScore 89/100 — 3 failing, 18 passedREVIEW
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 |
|---|
main.vi-atlas-home > section.vi-hybrid-quote-band > div.vi-hybrid-quote-slider > div.vi-hybrid-quote-dots main.vi-atlas-home > section.vi-hybrid-quote-band > div.vi-hybrid-quote-slider > div.vi-hybrid-quote-dots |
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 |
|---|
2,037 in 20 regions div.vi-ms > div.vi-ms-grid > a.vi-ms-tile > small |
DOP · IGP · PAT div.vi-ms > div.vi-ms-grid > a.vi-ms-tile > small |
WHICH LANDSCAPE? nav#viNav > div.vi-mobile-nav-flat > div.vi-ms > div.vi-ms-label |
About us · Contact · Use of AI nav#viNav > div.vi-mobile-nav-flat > div.vi-ms > div.vi-ms-foot |
A NATIONAL ARCHIVE, NOT A RANDOM COLLECTION section.vi-atlas-section > div.vi-atlas-shell > div.vi-atlas-intro > span.vi-atlas-kicker |
EXPLORE BY div.vi-atlas-shell > div.vi-hybrid-head > div.vi-hybrid-title-wrap > span.vi-hybrid-eyebrow |
JUST ADDED div.vi-atlas-shell > div.vi-hybrid-head > div.vi-hybrid-title-wrap > span.vi-hybrid-eyebrow |
TRENTINO-SOUTH TYROL div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
TRENTINO-SOUTH TYROL div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
AOSTA VALLEY div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
SARDINIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
PIEDMONT div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
APULIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
MOST VISITED THIS WEEK div.vi-atlas-shell > div.vi-hybrid-head > div.vi-hybrid-title-wrap > span.vi-hybrid-eyebrow |
APULIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
20 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
20 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
SICILY div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
19 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
PIEDMONT div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
19 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
19 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
VENETO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
18 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
BASILICATA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
18 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
MOLISE div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
17 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
VENETO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
17 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
10 div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-foto > div.vi-hybrid-top10-rank |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
16 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
MOST VISITED THIS MONTH div.vi-atlas-shell > div.vi-hybrid-head > div.vi-hybrid-title-wrap > span.vi-hybrid-eyebrow |
SARDINIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
308 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
173 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
158 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
APULIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
131 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
APULIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
126 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
MOLISE div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
125 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
116 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
ABRUZZO div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
101 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
LIGURIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
98 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
10 div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-foto > div.vi-hybrid-top10-rank |
APULIA div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-aircard-reg |
96 visits div.vi-hybrid-track > a.vi-hybrid-aircard > div.vi-hybrid-aircard-body > div.vi-hybrid-top10-views |
LATEST STORIES section.vi-atlas-section > div.vi-atlas-shell > div.vi-atlas-head > span.vi-atlas-kicker |
Browse by interest div.vi-atlas-shell > div.vi-atlas-map-grid > div.vi-atlas-map-copy > a |
EXPLORE BY LANDSCAPE section.vi-atlas-section > div.vi-atlas-shell > div.vi-atlas-head > span.vi-atlas-kicker |
752 villages div.vi-atlas-shell > div.vi-hybrid-temi-grid > a.vi-hybrid-tema-card > span.vi-hybrid-tema-count |
653 villages div.vi-atlas-shell > div.vi-hybrid-temi-grid > a.vi-hybrid-tema-card > span.vi-hybrid-tema-count |
218 villages div.vi-atlas-shell > div.vi-hybrid-temi-grid > a.vi-hybrid-tema-card > span.vi-hybrid-tema-count |
413 villages div.vi-atlas-shell > div.vi-hybrid-temi-grid > a.vi-hybrid-tema-card > span.vi-hybrid-tema-count |
57 villages div.vi-atlas-shell > div.vi-hybrid-temi-grid > a.vi-hybrid-tema-card > span.vi-hybrid-tema-count |
EXPLORE section.vi-atlas-section > div.vi-atlas-shell > div.vi-hybrid-hub > span.vi-atlas-kicker |
VILLAGES ITALY div.vi-footer-grid > div.vi-footer-brand > a.vi-logo > span.vi-logo-main |
DISCOVER ITALY'S HIDDEN VILLAGES div.vi-footer-grid > div.vi-footer-brand > a.vi-logo > span.vi-logo-sub |
The guide to Italy's authentic villages. Off-the-beaten-track places, ancient s… div.vi-container > div.vi-footer-grid > div.vi-footer-brand > p |
Telegram div.vi-container > div.vi-footer-social > div.vi-footer-social-links > a.vi-footer-social-btn |
Facebook div.vi-container > div.vi-footer-social > div.vi-footer-social-links > a.vi-footer-social-btn |
Spotify div.vi-container > div.vi-footer-social > div.vi-footer-social-links > a.vi-footer-social-btn |
Apple Podcasts div.vi-container > div.vi-footer-social > div.vi-footer-social-links > a.vi-footer-social-btn |
YouTube div.vi-container > div.vi-footer-social > div.vi-footer-social-links > a.vi-footer-social-btn |
© 2026 Villages Italy — All rights reserved footer.vi-footer > div.vi-container > div.vi-footer-bottom > span |
Made with ♥ in Italy footer.vi-footer > div.vi-container > div.vi-footer-bottom > span |
Editorial note: Villages Italy is a digital editorial project and not a registe… body.home > footer.vi-footer > div.vi-container > div.vi-footer-legal |
Some data and media on this site may derive from, or be reworked from, public a… body.home > footer.vi-footer > div.vi-container > div.vi-footer-attribution |
Wikipedia footer.vi-footer > div.vi-container > div.vi-footer-attribution > a |
Wikidata footer.vi-footer > div.vi-container > div.vi-footer-attribution > a |
Wikimedia Commons footer.vi-footer > div.vi-container > div.vi-footer-attribution > a |
Editorial Transparency footer.vi-footer > div.vi-container > div.vi-footer-attribution > a |
Accept body.home > div#ct-ultimate-gdpr-cookie-popup > div.ct-ultimate-gdpr-cookie-buttons > div#ct-ultimate-gdpr-cookie-accept |
Reject div#ct-ultimate-gdpr-cookie-popup > div.ct-ultimate-gdpr-cookie-buttons > div#ct_ultimate-gdpr-cookie-reject > a#ct-ultimate-cookie-close-modal |
Read more body.home > div#ct-ultimate-gdpr-cookie-popup > div.ct-ultimate-gdpr-cookie-buttons > div#ct-ultimate-gdpr-cookie-read-more |
These are opportunities to improve the legibility of your content.
Names and labels
Including a skip link can help users skip to the main content to save time. Learn more about skip links.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Skip to content body.home > a.vi-skip-link |
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.
A+Heading Hierarchy20 headingsPASS
- H1 Italian villages: an atlas of the most beautiful villages in Italy.
- H2 Explore by region
- H2 Italy makes sense through its smaller towns.
- H2 Italian villages by region
- H2 Latest villages added
- H2 Italy's 10 most visited villages
- H2 Villages of the month
- H2 New stories, every week.
- H3 Saint Francis and Italy’s villages: why the patron saint of Italy is close to our hearts
- H3 Why Italian villages are emptying — and what actually works
- H3 Abruzzo Saffron: The Red Gold of the Highlands
- H3 Carpineto della Nora: complete guide to the village
- H3 What to see in Navelli: top attractions
- H2 Start from a point. Discover everything around it.
- H2 Italian villages by landscape
- H2 Discover Italian villages
- H3 Villages Italy: a guide to the most beautiful villages in Italy
- H3 Explore
- H3 Guides
- H3 About
A+Heading Text QualityAll 20 heading(s) have substantive, well-formed textPASS
A+Alt Text QualityAll 72 images OKPASS
A+Form Input Types4 form control(s) checked, no type mismatchesPASS
A+Form Input Quality4 form control(s) checked, no input-semantic issuesPASS
A+Mobile Keyboard & AutofillNo autofill-eligible form controlsPASS
A+Document LanguageLang attribute set to "en-GB"PASS
A+Tabindex Anti-PatternsNo explicit tabindex attributes foundPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A+Tap Target AdequacyAll tap targets meet WCAG 2.5.5/2.5.8 sizingPASS
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 Italian villages: an… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Explore by region | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Italy makes sense th… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Italian villages by … | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Latest villages adde… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Italy's 10 most visi… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Villages of the mont… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 New stories, every w… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Start from a point. … | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Italian villages by … | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h2 Discover Italian vil… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Saint Francis and It… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Why Italian villages… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Abruzzo Saffron: The… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Carpineto della Nora… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 What to see in Navel… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Villages Italy: a gu… | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Explore | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 Guides | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | Pass |
| h3 About | 18.76:1 | 3.0:1 | #000000 | #F2F2F2 | 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.