How to Test Your Website for Accessibility: 10-Step Audit Process
Testing your website for accessibility requires a combination of automated tools, manual evaluation, and assistive technology testing. No single method catches all issues—automated tools find about 30-40% of problems, while manual testing and screen reader evaluation are essential for the rest. This guide walks through a comprehensive 10-step audit process.
Before You Start
What You'll Need
Tools:
- Web browser (Chrome recommended for DevTools)
- Browser extensions (axe DevTools, WAVE)
- Screen reader (NVDA for Windows, VoiceOver for Mac)
- Color contrast analyzer
Time estimate:
- Simple site (5-10 pages): 2-4 hours
- Medium site (10-50 pages): 1-2 days
- Complex application: 1-2 weeks
Testing Scope
Identify what to test:
- Homepage
- Key landing pages
- Forms (contact, checkout, login)
- Search functionality
- Navigation (menus, footer)
- Dynamic content (modals, accordions)
- Error states
Step 1: Automated Scanning
Run Multiple Tools
Different tools catch different issues. Use at least two:
axe DevTools (browser extension):
- Install from Chrome/Firefox extension store
- Open DevTools (F12)
- Go to "axe DevTools" tab
- Click "Scan ALL of my page"
- Review results by severity
WAVE (browser extension):
- Install WAVE extension
- Click WAVE icon on any page
- Review icons overlaid on page
- Check Details panel for explanations
Lighthouse (built into Chrome):
- Open DevTools (F12)
- Go to Lighthouse tab
- Select "Accessibility" category
- Run audit
- Review score and issues
Interpret Results
Critical issues: Fix immediately
- Missing alt text on informative images
- Empty buttons/links
- Missing form labels
- Duplicate IDs
Serious issues: Fix soon
- Insufficient color contrast
- Missing skip links
- Improper heading hierarchy
Moderate issues: Plan to fix
- ARIA misuse
- Missing landmarks
Document Findings
Create a tracking spreadsheet:
| Issue | Severity | Page | Element | WCAG Criterion | Status |
|------------------|----------|-----------|------------|----------------|--------|
| Missing alt text | Critical | /products | Hero image | 1.1.1 | Open |
| Low contrast | Serious | /about | Body text | 1.4.3 | Open |Step 2: Keyboard Navigation Testing
Test All Functionality Without Mouse
Basic navigation:
- Start at browser address bar
- Press Tab to move through page
- Verify you can reach all interactive elements
- Check focus is visible on each element
Key commands to test:
- Tab: Move forward
- Shift + Tab: Move backward
- Enter: Activate buttons/links
- Space: Activate checkboxes, buttons
- Arrow keys: Navigate within components
- Escape: Close modals/menus
Check for Common Issues
Focus visibility:
✓ Can you see where focus is at all times?
✓ Is focus indicator visible against all backgrounds?
✓ Does focus indicator have sufficient contrast?Focus order:
✓ Does tab order follow visual/logical order?
✓ Can you tab into and out of all components?
✓ After closing modal, does focus return appropriately?Keyboard traps:
✓ Can you tab out of all components?
✓ Are there any infinite loops?
✓ Can you access and close all modals with keyboard?Interactive elements:
✓ Do all buttons work with Enter and Space?
✓ Do all links work with Enter?
✓ Do dropdowns work with arrow keys?
✓ Can you operate date pickers with keyboard?Test Specific Components
Modal dialogs:
- Open modal with keyboard
- Verify focus moves into modal
- Tab through modal content
- Verify focus stays trapped in modal
- Close with Escape
- Verify focus returns to trigger
Dropdown menus:
- Open with Enter or Space
- Navigate with arrow keys
- Select with Enter
- Close with Escape
Step 3: Screen Reader Testing
Basic Screen Reader Setup
NVDA (Windows - Free):
- Download from nvaccess.org
- Install and launch
- Use Insert key as NVDA modifier
- Press Insert + Space to toggle focus mode
VoiceOver (Mac - Built-in):
- Enable: System Preferences > Accessibility > VoiceOver
- Or press Command + F5
- Use VO keys (Control + Option) for commands
Testing Process
Page structure:
- Navigate by headings (H key)
- Check heading hierarchy (H1 → H2 → H3)
- Navigate by landmarks (D key in NVDA)
- Verify main, navigation, footer landmarks
Images:
- Navigate to images
- Listen to alt text
- Verify descriptions are meaningful
- Check decorative images are hidden
Forms:
- Navigate to form
- Tab through fields
- Verify each field's label is announced
- Check error messages are announced
- Test form submission
Dynamic content:
- Trigger content updates
- Listen for announcements
- Check live regions are working
- Verify modal announcements
What to Listen For
Good:
- "Button, Submit order"
- "Edit, Email address, required"
- "Heading level 2, Product details"
- "Link, View cart, 3 items"
Bad:
- "Button" (no label)
- "Image" (no alt text)
- "Clickable" (unclear purpose)
- Silence (skipped content)
Step 4: Color and Contrast Testing
Test Text Contrast
Using browser DevTools:
- Inspect text element
- Click color swatch in Styles panel
- View contrast ratio
- Check if it passes AA (4.5:1 normal, 3:1 large)
Using Colour Contrast Analyser:
- Use eyedropper to pick foreground
- Pick background color
- View pass/fail for AA/AAA
Test UI Component Contrast
Check 3:1 minimum for:
- Form input borders
- Button borders (if no fill)
- Icons that convey meaning
- Focus indicators
Test Color Independence
Verify information isn't conveyed by color alone:
Links in text:
- Are they underlined OR have 3:1 contrast with text?
Form errors:
- Is there text/icon alongside red color?
Status indicators:
- Do they have labels or icons?
Charts/graphs:
- Can you distinguish data with patterns/labels?
Step 5: Heading Structure Testing
Check Hierarchy
Using WAVE or HeadingsMap:
- View document outline
- Verify single H1
- Check no skipped levels (H1 → H3)
- Verify headings describe content
Correct structure:
H1: Page Title
H2: Section One
H3: Subsection
H3: Subsection
H2: Section Two
H3: SubsectionIncorrect structure:
H1: Page Title
H3: Missing H2 (skip)
H2: Out of order
H4: Missing H3 (skip)Verify Heading Usage
Check that headings are used for structure, not styling:
- Large bold text that isn't a heading = issue
- Heading tags used for visual styling = issue
Step 6: Form Testing
Labels and Instructions
For each form field, verify:
✓ Visible label present
✓ Label programmatically associated (for/id or aria-labelledby)
✓ Required fields indicated
✓ Format hints provided (e.g., "MM/DD/YYYY")Error Handling
Test error states:
- Submit form with missing required fields
- Verify errors are announced
- Check errors appear near fields
- Verify error text is helpful
- Test that errors have sufficient contrast
Form Components
Test special inputs:
- Date pickers (keyboard accessible?)
- File uploads (label present?)
- Checkboxes/radios (grouped properly?)
- Autocomplete (announced?)
Step 7: Image and Media Testing
Alt Text Review
For each image, determine type and verify:
| Image Type | Expected Alt Text |
|-------------|----------------------------|
| Informative | Descriptive alt text |
| Decorative | Empty alt (`alt=""`) |
| Functional | Action description |
| Complex | Alt + extended description |Video and Audio
Videos:
✓ Captions present and accurate
✓ Audio description available (if needed)
✓ Player controls keyboard accessible
✓ Autoplay disabled (or controls available)Audio:
✓ Transcript available
✓ Player controls accessible
✓ No autoplayStep 8: Responsive and Zoom Testing
Browser Zoom
Test at 200% zoom:
- Set browser zoom to 200%
- Verify all content is visible
- Check no horizontal scrolling on text
- Verify functionality still works
Text-Only Zoom
Test with text-only sizing:
- Increase text size (browser settings)
- Verify text reflows properly
- Check no overlapping content
- Verify readability
Responsive Testing
Test at various viewports:
- Mobile (320px width)
- Tablet (768px width)
- Desktop (1024px+)
Verify:
- Touch targets 44x44px minimum
- Navigation accessible
- Forms usable
- Content readable
Step 9: Interactive Component Testing
Modals/Dialogs
✓ Focus moves to modal on open
✓ Focus is trapped within modal
✓ Escape key closes modal
✓ Focus returns to trigger on close
✓ Background content is hidden from ATAccordions/Tabs
✓ Arrow keys navigate between tabs
✓ Tab key moves into panel content
✓ Expanded state announced
✓ ARIA attributes correctCarousels/Sliders
✓ Pause control available
✓ Navigation keyboard accessible
✓ Current slide announced
✓ Auto-advance can be stoppedTooltips/Popovers
✓ Trigger works with keyboard
✓ Content is accessible to screen readers
✓ Dismiss with Escape
✓ Doesn't obscure other content permanentlyStep 10: Document Findings and Prioritize
Create Issue Report
For each issue found:
## Issue: Missing form label
**Severity:** Critical
**WCAG Criterion:** 1.3.1 Info and Relationships
**Location:** /contact (email field)
**Description:**
The email input field has no associated label element
or aria-label attribute.
**Impact:**
Screen reader users cannot identify the field's purpose.
**Recommendation:**
Add a visible label with matching for/id attributes:
<label for="email">Email Address</label>
<input type="email" id="email">Prioritize Remediation
Priority 1 - Critical (fix within 1 week):
- Blocks users from completing tasks
- Major WCAG Level A violations
- Keyboard traps
Priority 2 - High (fix within 1 month):
- Significant barriers for AT users
- WCAG Level AA violations
- Missing alternatives
Priority 3 - Medium (fix within 3 months):
- Causes confusion/difficulty
- Minor WCAG violations
- Enhancement opportunities
Priority 4 - Low (ongoing):
- Best practice improvements
- AAA considerations
- Edge cases
Quick Checklist Summary
â–¡ Run automated scans (axe, WAVE, Lighthouse)
â–¡ Test keyboard navigation (all functionality)
â–¡ Test with screen reader (content and structure)
â–¡ Check color contrast (text and UI)
â–¡ Verify heading structure (hierarchy)
â–¡ Test all forms (labels, errors)
â–¡ Audit images (alt text)
â–¡ Check media (captions, transcripts)
â–¡ Test zoom and responsive (200% zoom)
â–¡ Test interactive components (modals, accordions)Taking Action
Regular accessibility testing should be part of your development workflow—not a one-time event. Automated testing catches obvious issues quickly, while manual and screen reader testing uncover the barriers that actually impact users.
TestParty automates continuous accessibility monitoring, catching issues before they reach production.
Schedule a TestParty demo and get a 14-day compliance implementation plan.
Related Resources


Automate the software work for accessibility compliance, end-to-end.
Empowering businesses with seamless digital accessibility solutions—simple, inclusive, effective.
Book a Demo