Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionTheme color onlyFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
BForm Accessibility3 of 4 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #search-field | search | Search for: | for/id |
| #ev_newsletter_input_1 | (Enter your email address) | placeholder only | |
| #ev_newsletter_input_2 | (Enter your email address) | placeholder only | |
| #ev_newsletter_input_3 | (Enter your email address) | placeholder only |
Placeholder text disappears on focus and is not a reliable label.
<input type="email" name="ev_newsletter_subscription_component__email" id="ev_newsletter_input_1">; <input type="email" name="ev_newsletter_subscription_component__email" id="ev_newsletter_input_2">; <input type="email" name="ev_newsletter_subscription_component__email" id="ev_newsletter_input_3">
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
CLink & Button QualityAction3 issue(s) across 262 links and 7 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://www.politico.eu | (empty) | empty | Add link text or aria-label |
| https://www.politico.com | US | new tab | Add '(opens in new tab)' to text |
| https://www.politico.com | US | new tab | Add '(opens in new tab)' to text |
| https://www.politico.com/news/2026/04/21… | Iran talks on hold because of … | new tab | Add '(opens in new tab)' to text |
| https://www.politico.com/news/2026/04/21… | Florida launches ‘criminal i… | new tab | Add '(opens in new tab)' to text |
| https://www.politico.eu/pro-analysis-thi… | Read Pro report | new tab | Add '(opens in new tab)' to text |
| https://www.politico.eu/why-go-pro/ | Learn about Pro → | new tab | Add '(opens in new tab)' to text |
| https://www.politico.eu/newsletter/ | (empty) | empty | Add link text or aria-label |
| https://www.cloudflare.com/en-gb/privacy… | Privacy Policy | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/en-in/website… | Terms of Service | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/en-gb/privacy… | Privacy Policy | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/en-in/website… | Terms of Service | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/en-gb/privacy… | Privacy Policy | new tab | Add '(opens in new tab)' to text |
| https://www.cloudflare.com/en-in/website… | Terms of Service | new tab | Add '(opens in new tab)' to text |
| https://www.politico.com/news/magazine/2… | Trump’s loud Orban support c… | new tab | Add '(opens in new tab)' to text |
| https://www.politico.com/news/magazine/2… | How football assisted Viktor O… | new tab | Add '(opens in new tab)' to text |
| https://www.politico.eu | (empty) | empty | Add link text or aria-label |
Links without text are announced as raw URLs by screen readers.
https://www.politico.eu; https://www.politico.eu/newsletter/; https://www.politico.eu
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://www.politico.com; https://www.politico.com; https://www.politico.com/news/2026/04/21/iran-talks-hold-over-trumps-blockade…; https://www.politico.com/news/2026/04/21/florida-criminal-investigation-chatg…; https://www.politico.eu/pro-analysis-thin-ice-thick-tensions-europe-and-polar…; https://www.politico.eu/why-go-pro/; https://www.cloudflare.com/en-gb/privacypolicy/; https://www.cloudflare.com/en-in/website-terms/; https://www.cloudflare.com/en-gb/privacypolicy/; https://www.cloudflare.com/en-in/website-terms/ (+4 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
C404 Error PageActionHTTP 404, custom pageREVIEW
BFavicon & Branding7 icon(s) detectedREVIEW
CColor Contrast (Screenshot)Action20 text elements analyzed, 5 fail WCAG AAREVIEW
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 |
|---|---|---|---|---|---|
| h2 Thin ice, thick tens… | 3.00:1 | 3.0:1 | #000000 | #595959 | Pass |
| h3 POLITICO Pro | 3.00:1 | 3.0:1 | #000000 | #595959 | Pass |
| title POLITICO – Europea… | 2.86:1 | 4.5:1 | #000000 | #565656 | Fail |
| a Skip to main content | 2.86:1 | 4.5:1 | #000000 | #565656 | Fail |
| span Advertisement | 2.86:1 | 4.5:1 | #000000 | #565656 | Fail |
| span Menu | 2.95:1 | 4.5:1 | #000000 | #585858 | Fail |
| label Search for: | 3.00:1 | 4.5:1 | #000000 | #595959 | Fail |
| span Submit | 7.37:1 | 4.5:1 | #000000 | #999999 | Pass |
| span Edition: Europe | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| span Europe | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| span France | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| span Germany | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Policy areas | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Agriculture and Food | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Central Banker | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Competition and Indu… | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Cybersecurity and Da… | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Defense | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Energy and Climate | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | Pass |
| a Energy and Climate U… | 21.00:1 | 4.5:1 | #000000 | #FFFFFF | 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+Landmark Structure12 landmarksPASS
A+Heading Hierarchy70 headingsPASS
- H1 (empty)
- H2 The great unblocking? EU foreign ministers eye sweeping changes as Orbán exits
- H2 The problem with Europe’s Big Tech breakup: It’s still hooked
- H2 Lawmakers urge EU Parliament to halt monthly Strasbourg trip over energy costs
- H2 EU looks to revive joint gas buying as energy fears mount
- H2 Orbán’s EU fixer faces becoming Hungary’s ‘fall guy’
- H2 Latest news
- H2 Iran talks on hold because of Trump’s blockade
- H2 EU to cut Venice Biennale funding over Russia’s participation, Kallas says
- H2 Florida launches ‘criminal investigation’ into ChatGPT, fueled by university shooting
- H2 Russia uses AI to hack Europe, Dutch intelligence warns
- H2 EU members reject push to suspend association agreement with Israel
- H2 Ukraine has repaired Druzhba pipeline, Zelenskyy says
- H2 From Attila the Hun to Donald J. Trump: A brief history of popes battling world leaders
- H2 EU Commission jobs reshuffle on hold as chiefs stick in post
- H2 Romania plunges back into political turmoil as Social Democrats move to topple PM
- H2 Editors’ picks
- H2 Questions loom over Séjourné’s relationship with Attal
- H2 Hungary must arrest Netanyahu if he visits, Magyar says
- H2 7 reasons Starmer can’t shake off the Mandelson vetting saga
- H2 Britain sidelined in talks on Carney-backed defense bank
- H2 Trump is quietly seeking allies to fix Gaza, says Norway
- H2 Orbán’s exit leaves Israel exposed in Europe
- H2 How the Iran war set Beijing up for global clean energy dominance
- H3 POLITICO Pro
- H2 Thin ice, thick tensions: Europe and polar power politics
- H2 Most read
- H2 7 takeaways from Olly Robbins’ evidence on the Peter Mandelson vetting saga
- H2 From Attila the Hun to Donald J. Trump: A brief history of popes battling world leaders
- H2 The great unblocking? EU foreign ministers eye sweeping changes as Orbán exits
- H2 EU top court strikes down Hungary’s anti-LGBTQ+ rules
- H2 The problem with Europe’s Big Tech breakup: It’s still hooked
- H2 EU members reject push to suspend association agreement with Israel
- H2 Newsletters
- H2 Podcasts
- H2 Why Olly Robbins isn’t Labour’s only problem
- H2 No Orbán, no excuses
- H2 Defense deals and Thomas Tuchel’s chances: Inside the new Anglo-German bromance
- H2 Security-Update: Hormus als Nadelöhr – wie kommt Trump aus der Krise?
- H2 France
- H2 Trump turns totally toxic for Europe’s far right
- H2 Le Pen met France’s richest man and other major CEOs at secret dinner
- H2 Forget Netflix — YouTube is our main rival, top French broadcaster says
- H2 The continent
- H2 At anti-Trump rally, Sánchez promises to ‘twist the arm’ of the global right
- H2 How a fake Russian story became a real problem for Estonia
- H2 ‘A political era has ended’: Orbán breaks silence after Hungarian election defeat
- H2 Airlines cancel flights, ground planes as jet fuel shock hits Europe
- H2 Britain
- H2 Mandelson files to exclude worst of UK’s private comments on Trump
- H2 Fatal flaw: Keir Starmer’s leadership vacuum threatens to swallow him up
- H2 Starmer ‘furious’ over Mandelson vetting failures as Labour critics pounce
- H2 Washington
- H2 Trump’s loud Orban support contrasts with decades of covert US electoral warfare
- H2 Europeans tried to win over the US this week in DC. Their efforts were lost in translation.
- H2 Trump rejects ‘blackmail’ by Tehran as Iranian military shuts Hormuz again
- H2 Brussels
- H2 EU Parliament’s reputation at stake in access debate, new anti-fraud chief says
- H2 Orbán is out. Who’s the EU’s next top disruptor?
- H2 EU to game out bloc’s mutual assistance clause in case of attack
- H2 Europe to accelerate effort to secure Hormuz despite Trump’s order to stay away
- H2 Germany
- H2 Can Germany restart its nuclear power program? A peek inside a decommissioned reactor suggests it could.
- H2 Germany’s €2B battlefield digitalization system runs into trouble
- H2 Merz’s coalition agrees on joint measures to tackle Iran war fallout
- H2 Opinion
- H2 The Iran war has been good for Starmer — to a point
- H2 Thought there was enough maritime drama? Look to the Gulf of Finland.
- H2 How football assisted Viktor Orbán’s rise — and maybe his fall
- H2 Germany’s center left is on the brink of oblivion
Empty headings appear in the document outline but provide no information.
Empty <hN> tags break the document outline — screen-reader users navigating by heading hit dead silence.
Source: WCAG 2.4.6
A+Alt Text QualityAll 40 images OKPASS
ALighthouse Accessibility AuditsScore 93/100 — 3 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.
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 |
|---|
6 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
Advertisement div.entry__content > div.wp-block-group > div.ad > span.ad-label |
3 MINS READ div.card__content > div.date-time > span.duration > span |
2 MINS READ div.card__content > div.date-time > span.duration > span |
9 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
5 MINS READ div.card__content > div.date-time > span.duration > span |
12 MINS READ div.card__content > div.date-time > span.duration > span |
APR 21 div.article-card > div.card__content > div.date-time > span.date-time__date |
10 MINS READ div.card__content > div.date-time > span.duration > span |
APR 21 div.article-card > div.card__content > div.date-time > span.date-time__date |
6 MINS READ div.card__content > div.date-time > span.duration > span |
APR 21 div.article-card > div.card__content > div.date-time > span.date-time__date |
5 MINS READ div.card__content > div.date-time > span.duration > span |
APR 21 div.article-card > div.card__content > div.date-time > span.date-time__date |
3 MINS READ div.card__content > div.date-time > span.duration > span |
APR 20 div.article-card > div.card__content > div.date-time > span.date-time__date |
12 MINS READ div.card__content > div.date-time > span.duration > span |
APR 21 div.article-card > div.card__content > div.date-time > span.date-time__date |
4 MINS READ div.card__content > div.date-time > span.duration > span |
Advertisement article#post-1484880 > div.entry__content > div.ad > span.ad-label |
5 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
2 MINS READ div.card__content > div.date-time > span.duration > span |
12 MINS READ div.card__content > div.date-time > span.duration > span |
2 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
Advertisement article#post-1484880 > div.entry__content > div.ad > span.ad-label |
5 MINS READ div.card__content > div.date-time > span.duration > span |
13 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
11 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
6 MINS READ div.card__content > div.date-time > span.duration > span |
4 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
16 MINS READ div.card__content > div.date-time > span.duration > span |
5 MINS READ div.card__content > div.date-time > span.duration > span |
3 MINS READ div.card__content > div.date-time > span.duration > span |
5 MINS READ div.card__content > div.date-time > span.duration > span |
5 MINS READ div.card__content > div.date-time > span.duration > span |
19 MINS READ div.card__content > div.date-time > span.duration > span |
6 MINS READ div.card__content > div.date-time > span.duration > span |
POLICY li#menu-item-69e7d50dac443 > ul.sub-menu > li#menu-item-69e7d50dac447 > a |
NEWSLETTERS li#menu-item-69e7d50dac4e5 > ul.sub-menu > li#menu-item-69e7d50dac4e8 > a |
PODCASTS li#menu-item-69e7d50dac539 > ul.sub-menu > li#menu-item-69e7d50dac53b > a |
OPINION li#menu-item-69e7d50dac539 > ul.sub-menu > li#menu-item-69e7d50dac56f > a |
FEATURED SERIES li#menu-item-69e7d50dac595 > ul.sub-menu > li#menu-item-69e7d50dac59a > a |
SUBSCRIPTIONS li#menu-item-69e7d50dac595 > ul.sub-menu > li#menu-item-69e7d50dac5c7 > a |
EDITIONS li#menu-item-69e7d50dac595 > ul.sub-menu > li#menu-item-69e7d50dac5de > a |
These are opportunities to improve the legibility of your content.
Names and labels
Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn how to make links accessible.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.wp-block-column > div.content-header-new > div.content-header-new__subtitle > a div.wp-block-column > div.content-header-new > div.content-header-new__subtitle > a |
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 |
|---|
READ REPORT section.pkb-gate > div.pkb-gate-inner > div.pkb-gate-actions > a.pkb-gate-primary |