Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.FFavicon & BrandingAction1 icon(s) detectedFIX
DWeb ManifestActionNot foundFIX
No web manifest found.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
BHeading Hierarchy54 headingsREVIEW
- H2 One-pan weeknight meals
- H2 One-pan weeknight meals
- H3 Budget spring recipes
- H4 Roasted carrot & whipped feta tart
- H4 Carrot pilaf with coriander chutney
- H4 Chicken, leek & brown rice stir-fry
- H4 Pea, mint & spring onion soup with parmesan biscuits
- H4 Orzotto with pancetta & peas
- H4 Lemon roasted spring chicken with asparagus
- H4 Curried spring veggie pilaf
- H4 Lemon & herb chicken traybake with butter beans & potato wedges
- H4 Pea & ham pot pie
- H4 Sesame & spring onion stir-fried udon with crispy tofu
- H3 Trending now
- H4 We tested dozens - these are the best collagen supplements that deliver results
- H4 15 April dinners to refresh your recipe repertoire
- H4 Ranie Saidi on Malaysian cuisine, cooking as grief therapy and the debate over food authenticity
- H4 Best stainless-steel frying pans 2026, tested by experts: for crisp searing, eggs and everyday cooking
- H4 Marathon week meal plan
- H4 Into the wild: a luxury eco-safari in southern Africa worth the journey
- H4 How does sugar affect my mood?
- H4 I'm a fitness expert, and this is every running product and supplement I've rated 5/5 stars
- H4 30 kids' dinner ideas
- H4 Heart disease is the biggest killer – make these 7 diet changes to prevent it
- H3 Videos
- H3 Popular recipe collections
- H4 App onlyExclusive lunch recipes. This is a premium piece of content available to subscribed users.
- H4 Low-calorie pasta recipes
- H4 Healthy air fryer recipes
- H4 App-onlyExclusive chicken recipes. This is a premium piece of content available to subscribed users.
- H3 Be inspired...
- H4 10 twists on macaroni cheese that will level up your weeknight dinners
- H4 15 foods to boost your brain health, memory and focus
- H4 25 Spring salad recipes
- H4 Best cookbooks for beginners 2026
- H4 13 best charcoal barbecues, tested and rated by experts
- H4 How to temper chocolate: our best tried and tested method
- H4 8 top chefs share the waste-of-money ingredients you should never buy
- H4 The air fryer snack recipes you haven't tried yet (but really should)
- H3 Popular guides
- H4 Experts have discovered the best time to drink coffee - and the healthiest way to do it
- H4 Iran ceasefire: is it already too late to stop higher food prices?
- H4 13 health benefits of broad beans (fava beans)
- H4 How I finally learned to love non-alcoholic wines – by a drinks expert
- H4 This easy twist on carbonara is the only pasta recipe you need this spring
- H3 Good Food Podcast
- H4 Edd Kimber on the world of chocolate
- H4 Rhiannon Lambert on the fibre crisis, ultra-processed foods and supplements
- H4 Anna Ansari on the Silk Roads and the origins of everyday foods
- H4 Matt Adlard on the science of baking and having a Michelin-starred dad
- H4 Want to see this content?
- H4 Explore our recipe app
- H4 Savour the season
- H4 Podcast
Every page should have one H1 that describes the page content.
No H1 means screen-reader users can't identify the page's primary topic, and Google's content-extraction degrades.
Learn more ▾ ▴
The H1 is the document title for assistive tech and a strong signal to search engines about page topic. Pages without one force screen readers to fall back to the <title> attribute or page chrome. Add a single H1 that names the page's primary subject.
Source: WCAG 2.4.6 / Google Search Central
CLink & Button QualityAction1 issue(s) across 296 links and 24 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://www.bbcgoodfood.com/travel/wilde… | View Into the wild: a luxury e… | img no alt | Add alt attribute to the image |
| https://immediate.onelink.me/OQap/np1ykp… | View Explore our recipe app | img no alt | Add alt attribute to the image |
| https://www.bbcgoodfood.com/subscribe?ta… | View Savour the season | img no alt | Add alt attribute to the image |
| https://www.bbcgoodfood.com/feature/podc… | More | generic text | Replace with descriptive text |
Before: More Suggested: Podcasts | |||
| https://www.facebook.com/goodfoodeveryda… | Visit us on Facebook | new tab | Add '(opens in new tab)' to text |
| https://twitter.com/@BBCgoodfood | Visit us on Twitter | new tab | Add '(opens in new tab)' to text |
| https://www.instagram.com/goodfoodeveryd… | Visit us on Instagram | new tab | Add '(opens in new tab)' to text |
| http://uk.pinterest.com/goodfood | Visit us on Pinterest | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@GoodFood | Visit us on Youtube | new tab | Add '(opens in new tab)' to text |
| https://www.tiktok.com/@goodfood | Visit us on Tiktok | new tab | Add '(opens in new tab)' to text |
| https://www.bbcgoodfood.com/feed/atom/ | Visit us on Rss | new tab | Add '(opens in new tab)' to text |
| https://www.immediate.co.uk | Immediate company logo in whit… | new tab | Add '(opens in new tab)' to text |
Generic link text like 'click here' doesn't describe the destination.
https://www.bbcgoodfood.com/feature/podcasts ("More")
Generic anchor text ('click here', 'read more', 'learn more') tells screen readers and search engines nothing about the destination.
Learn more ▾ ▴
Out-of-context lists of links read by AT (one navigation pattern) become useless when every link says 'click here'. Use the destination's title or topic as anchor text. Doubles as SEO win — Google passes anchor-text relevance to the destination.
Source: WCAG 2.4.4 / Google Search Central
Image-only links need alt text on the image (or aria-label on the link) so screen readers can announce them.
a[data-testid="card-image-container"]; a[data-testid="card-image-container"]; a[data-testid="card-image-container"]
Image-only links with no alt are unidentifiable to screen-reader users — link's destination is invisible.
Source: WCAG 2.1 SC 2.4.4
Add '(opens in new tab)' to link text or aria-label.
https://www.facebook.com/goodfoodeveryday; https://twitter.com/@BBCgoodfood; https://www.instagram.com/goodfoodeveryday; http://uk.pinterest.com/goodfood; https://www.youtube.com/@GoodFood; https://www.tiktok.com/@goodfood; https://www.bbcgoodfood.com/feed/atom/; https://www.immediate.co.uk
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
B404 Error PageHTTP 404, custom pageREVIEW
CColor Contrast (Screenshot)Action20 text elements analyzed, 1 fail WCAG AAREVIEW
Analyzes text contrast against the actual rendered page, including background images, gradients, and overlays that CSS-based tools cannot detect.
1 contrast failures on background images/gradients
These failures are invisible to CSS-based accessibility tools like Lighthouse. The text may be fine on a solid background, but fails when rendered over an image or gradient.
Show all checked elements (20)
| Element | Ratio | Required | FG | BG | Result |
|---|---|---|---|---|---|
| h2 One-pan weeknight me… | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h2 One-pan weeknight me… | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Budget spring recipe… | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Trending now | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Videos | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Popular recipe colle… | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Be inspired... | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Popular guides | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| h3 Good Food Podcast | 6.95:1 | 3.0:1 | #000000 | #1E9FD2 | Pass |
| title Good Food | Recipes … | 4.03:1 | 4.5:1 | #000000 | #427387 | Fail |
| a Skip to main content | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| a Sign in | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| a Register | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| a Sign in | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| a Register | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| label Search | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| span Recipes | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| span Back to | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| span Main menu | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | Pass |
| span New and trending | 6.95:1 | 4.5:1 | #000000 | #1E9FD2 | 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.
ALandmark Structure11 landmarksPASS
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
A+Alt Text QualityAll 51 images OKPASS
A+Form AccessibilityAll 1 controls labeledPASS
| Control | Type | Label | Method |
|---|---|---|---|
| #branded-section-search-input | text | Search | for/id |
A+Lighthouse Accessibility AuditsScore 100/100 — 1 failing, 29 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.
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 |
|---|
Premium div.col-md-3 > article.card > div.card__section > a.link |
Premium div.col-md-3 > article.card > div.card__section > a.link |