[AXE] Announcement bar fails accessibility on every page
Maintainers usually reply within 7 days
@matej-marcisovsky is already working on this.
Since Oct 16, 2026.
Assessment
This issue has not been assessed yet.
Description
Where: every page. The purple top banner, currently "✨ Strapi MCP is now Generally Available".
What's wrong (Axe, 22 of 22 pages):
color-contrast(serious): the link inside the banner istext-amber-200onbg-strapi-purple-600, which is below the WCAG AA minimum of 4.5:1 for small text.region(moderate): the banner is a plain<div>outside any landmark (<header>,<main>,<nav>,<aside>, …), so screen-reader users navigating by landmarks skip it.
Code: components/page-builder/components/navigation/top-banner/StrapiTopBanner.tsx
- wrapper:
<div data-top-banner className="bg-strapi-purple-600 …"> - link color:
[&_a]:text-amber-200(hover:amber-100)
How to reproduce: run the Axe suite, or in Chrome DevTools → Lighthouse → Accessibility, open any page and look for "Background and foreground colors do not have a sufficient contrast ratio" pointing at the banner link.
Done when:
- the banner link reaches at least 4.5:1 contrast (e.g. white with an underline, or a lighter/darker shade, checked with a contrast checker)
- the banner is inside a landmark, e.g. the wrapper becomes
<aside aria-label="Announcement">(label from translations) - the Axe suite no longer reports
color-contrastorregionfor the banner on any page
Note: one component fix removes the most frequent Axe violations site-wide.
- Dominant language
- TypeScript
- Stars
- 6
- Forks
- 5
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 7
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from strapi/website
-
[SEO] Remove /blog/categories page from sitemapPossibly taken @fonodi claimed this 5 days ago. Openreopened
Difficulty 1/5 Under an hour Newbie friendliness 80/100
strapi/website#128 · 2 assignees ·
Maintainers usually reply within 7 days
-
Create a new collection type and component for cloud-legalPossibly taken @fonodi claimed this 12 days ago. Openenhancement
strapi/website#169 · 2 assignees ·
Maintainers usually reply within 7 days
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
Maintainers usually reply within 7 days
-
Update GitHub Actions that still run on Node.js 20May be free again @matej-marcisovsky claimed this 30 days ago, and no pull request is open. Open
strapi/website#153 · 1 assignee ·
Maintainers usually reply within 7 days
-
Pricing buttons don't respond until the cards hydratePossibly taken @fonodi claimed this 5 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
strapi/website#152 · 1 assignee ·
Maintainers usually reply within 7 days
Similar issues
-
Add: BOM CineOpenapproved check:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug platform-android
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Termix-SSH/Mobile#146 · 1 comment ·
Maintainers usually reply within 2 days
-
MCP mcp-feedback-pattern
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/toolkit#2276 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
devswha/herdr-web-ui#3875 ·