Banner accessibility guidelines: design for everyone
Accessible banners aren’t just a legal requirement—they’re better for everyone. Higher contrast improves readability. Clear alt text helps SEO. Readable fonts benefit all users.
Here’s how to make banners accessible.
WCAG compliance basics
Web Content Accessibility Guidelines (WCAG) define three levels:
- Level A: minimum requirements
- Level AA: standard compliance (most common target)
- Level AAA: enhanced accessibility
For most banners, Level AA is the target.
Color contrast requirements
Text must have sufficient contrast against background:
- Normal text (16px+): 4.5:1 contrast ratio (AA)
- Large text (18px+ or 14px+ bold): 3:1 contrast ratio (AA)
- UI components (buttons, links): 3:1 contrast ratio (AA)
How to check contrast
Use tools like:
- WebAIM Contrast Checker
- Contrast Ratio (Lea Verou)
- Browser dev tools (Chrome, Firefox)
Test all text/background combinations, not just the main text.
Common contrast mistakes
- Light gray on white: fails contrast
- Yellow on white: often fails
- Red on dark background: may fail depending on shade
- Gradient backgrounds: test multiple points
Alt text for images
All images need descriptive alt text:
- Informative images: describe what’s shown
- Decorative images: use empty alt (
alt="") - Text in images: include text content in alt
Example:
- ❌ Bad:
alt="banner" - ✅ Good:
alt="Summer sale: Save 50% on all products. Shop now."
Typography accessibility
Readable typography benefits everyone:
- Font size: minimum 16px for body text
- Line height: 1.4-1.6 for readability
- Font weight: avoid very light weights (< 300)
- Font choice: avoid decorative fonts for body text
- Letter spacing: avoid excessive tracking
Focus and keyboard navigation
For interactive banners (web):
- Focus indicators: visible focus states for keyboard users
- Keyboard access: all interactive elements keyboard-accessible
- Tab order: logical navigation order
Screen reader considerations
Structure content for screen readers:
- Semantic HTML: use proper heading hierarchy
- ARIA labels: when HTML isn’t sufficient
- Live regions: for dynamic content updates
- Skip links: for long content
Color and information
Don’t rely on color alone to convey information:
- Status indicators: use icons + color, not just color
- Required fields: use labels + color, not just color
- Errors: use text + color, not just red
Example:
- ❌ Bad: Red border = error (color only)
- ✅ Good: "Error: Invalid email" + red border (text + color)
Motion and animation
Respect user preferences:
- Reduced motion: respect
prefers-reduced-motionmedia query - Auto-playing: avoid auto-playing videos/animations
- Flashing: avoid rapid flashing (can trigger seizures)
Testing accessibility
Test with:
- Automated tools: WAVE, axe DevTools, Lighthouse
- Manual testing: keyboard navigation, screen reader testing
- User testing: test with users who have disabilities
Automated tools catch ~30% of issues. Manual testing is essential.
Accessibility checklist
Before publishing, verify:
- All text meets contrast requirements (AA)
- All images have descriptive alt text
- Typography is readable (16px+, good line height)
- Interactive elements are keyboard-accessible
- Color isn’t the only way to convey information
- Motion respects reduced motion preferences
- Tested with screen reader (if web banner)
CTA
Ready to make your banners accessible?
- Create an account: Get started
- Check accessibility: Free templates