Making documentation accessible to everyone
Last Updated: 2026-03-10
The NZ Legislation Tool documentation is committed to ensuring digital accessibility for people with disabilities. We are continually improving the user experience for everyone and applying the relevant accessibility standards.
This documentation aims to meet WCAG 2.1 AA (Web Content Accessibility Guidelines) standards.
WCAG 2.1 AA Requirements:
- ✅ Perceivable - Information must be presentable to users in ways they can perceive
- ✅ Operable - User interface components must be operable
- ✅ Understandable - Information and operation must be understandable
- ✅ Robust - Content must be robust enough to be interpreted by assistive technologies
- ✅ Semantic HTML - Proper heading hierarchy (H1, H2, H3)
- ✅ Descriptive Links - Link text describes destination
- ✅ Alt Text - All images have descriptive alternatives
- ✅ Table Headers - Data tables have proper headers
- ✅ List Structure - Lists use proper HTML list elements
- ✅ Skip Links - Jump to main content (when hosted online)
Example:
✅ Good: [Download the installer](...)
❌ Bad: [Click here](...)- ✅ Tab Order - Logical navigation order
- ✅ Focus Indicators - Visible focus on interactive elements
- ✅ Skip Navigation - Skip to main content link
- ✅ No Keyboard Traps - Can navigate away from all elements
Keyboard Shortcuts:
Tab- Move to next interactive elementShift + Tab- Move to previous elementEnter- Activate button/linkSpace- Activate buttonArrow Keys- Navigate within components
- ✅ High Contrast - Text has sufficient contrast (4.5:1 minimum)
- ✅ Resizable Text - Text can be zoomed up to 200%
- ✅ Clear Fonts - Easy-to-read typefaces
- ✅ No Text in Images - Information is in text format
Contrast Ratios:
- Normal text: 4.5:1 minimum
- Large text (18pt+): 3:1 minimum
- UI components: 3:1 minimum
- ✅ Plain Language - Grade 8-10 reading level
- ✅ Consistent Navigation - Predictable layout
- ✅ Clear Instructions - Step-by-step guidance
- ✅ Error Prevention - Clear error messages with solutions
- ✅ Glossary - Technical terms defined
- ✅ ELI5 Sections - Simple explanations
- ✅ Text Alternatives - All audio/video has transcripts
- ✅ Captions - Video content includes captions
- ✅ Visual Indicators - Information not conveyed by sound alone
Despite our best efforts, some content may not be fully accessible:
-
Mermaid Diagrams - May not be fully accessible to all screen readers
- Workaround: Text descriptions provided below each diagram
- Future: SVG export with better accessibility
-
Code Blocks - May be challenging for some screen readers
- Workaround: Plain text descriptions provided
- Future: Improved code block semantics
-
Interactive Elements (when hosted online)
- Some interactive features may have limited keyboard support
- Workaround: Alternative static content available
We welcome your feedback on the accessibility of our documentation.
Contact Us:
- 📧 Email: dylan.mordaunt@vuw.ac.nz
- 🐛 GitHub Issues: Open an accessibility issue
- 💬 Discussions: Start a discussion
Response Time: We aim to respond within 2 business days.
If you're not satisfied with our response to an accessibility concern:
- Contact us using the information above
- Describe the issue including:
- Page URL
- Nature of the problem
- Assistive technology used (if applicable)
- We'll investigate and respond within 2 business days
- If unresolved, you may escalate to relevant authorities
This documentation was assessed using:
- Self-evaluation - Internal testing against WCAG 2.1 AA
- Automated tools - axe, WAVE, Lighthouse
- Manual testing - Keyboard navigation, screen reader testing
- User testing - Feedback from users with disabilities
Last Assessment Date: 2026-03-10
How to search the documentation effectively
Good:
API keyexport CSVrate limit
Too Broad:
helpsearchcommand
"API key not configured"
"rate limit exceeded"
API key authentication
export CSV Excel
type:faq API key
type:troubleshooting export
| What You're Looking For | Where to Search |
|---|---|
| Common questions | FAQ |
| Error messages | Troubleshooting |
| Technical terms | Glossary |
| How to do something | User Guide |
| Research workflows | Research Workflow |
| Code examples | Developer Guide |
| Architecture | Architecture |
| Diagrams | Visual Diagrams |
→ Glossary
Quick way to find text on a page:
- Press
Ctrl+F(Windows/Linux) orCmd+F(Mac) - Type your search term
- Press
Enter - Use
↑↓arrows to navigate results
Pro Tip: Search for section headers like "API Key" or "Export" to jump to relevant sections quickly.
Search the entire repository:
- Go to GitHub Repository
- Press
tto search files - Press
/to search code - Type your query
Advanced GitHub Search:
# Search in documentation files
path:docs API key
# Search in markdown files
extension:md export CSV
# Search in specific folder
path:docs/user-guide troubleshooting
Accessing documentation on mobile devices
This documentation is optimized for mobile devices:
- ✅ Responsive Design - Adapts to screen size
- ✅ Touch-Friendly - Large tap targets
- ✅ Readable Text - No horizontal scrolling
- ✅ Fast Loading - Optimized images and content
- ✅ Offline Access - Can be saved for offline reading
For code blocks and tables, rotate your device to landscape mode for better visibility.
iOS Safari:
- Tap the Share button
- Tap "Add Bookmark"
- Name it (e.g., "NZ Leg Docs")
- Tap "Save"
Android Chrome:
- Tap the three dots menu
- Tap the star icon
- Name it
- Tap "OK"
Most browsers have a "Reader Mode" that removes distractions:
iOS Safari:
- Tap the "aA" icon in the address bar
- Tap "Show Reader"
Android Chrome:
- Tap the three dots menu
- Tap "Reader Mode" (if available)
For offline reading:
iOS:
- Tap Share
- Tap "Print"
- Pinch out on the preview
- Tap Share again
- Tap "Save to Files"
Android:
- Tap three dots menu
- Tap "Share"
- Tap "Print"
- Select "Save as PDF"
- Choose location
Quick Access:
| Task | How To |
|---|---|
| Search | Use browser's Find feature (Ctrl+F / Cmd+F) |
| Navigate | Use table of contents at top of pages |
| Go Home | Tap logo or title at top |
| Go Back | Use browser back button |
| Share | Use browser share menu |
- ✅ Screen Reader Support - All content is readable
- ✅ Descriptive Links - Links describe destination
- ✅ Proper Headings - Easy to navigate by heading
- ✅ Alt Text - Images have descriptions
VoiceOver (iOS):
- Swipe right/left to navigate
- Double-tap to activate
- Three-finger swipe up/down to adjust settings
TalkBack (Android):
- Swipe right/left to navigate
- Double-tap to activate
- Two-finger swipe to scroll
Making documentation load faster
Tips for faster loading:
- Use WiFi - Faster than mobile data
- Clear Cache - Remove old cached files
- Update Browser - Latest browsers are fastest
- Disable Extensions - Some slow down loading
- Use Reader Mode - Loads text faster
Technical optimizations:
-
Compress Images
# Use tools like ImageOptim, TinyPNG -
Enable Caching
# Nginx example location ~* \.(md|pdf|png)$ { expires 30d; add_header Cache-Control "public, immutable"; }
-
Minify CSS/JS
# Use build tools like webpack, esbuild -
Use CDN
- Cloudflare
- AWS CloudFront
- Netlify
-
Lazy Load Images
<img src="diagram.png" loading="lazy" alt="..." />
Target Load Times:
| Metric | Target | Status |
|---|---|---|
| First Contentful Paint | <1.5s | ✅ |
| Time to Interactive | <3.5s | ✅ |
| Total Page Size | <500KB | ✅ |
| Number of Requests | <50 | ✅ |
Coming Soon!
- What is the NZ Legislation Tool?
- Installation (2 methods)
- API key setup
- Your first search
- Search command
- Get command
- Export command
- Cite command
- Complete research workflow example
- Export to Excel
- Data analysis in R/Python
- Generate citations
- Common errors and fixes
- API key issues
- Installation problems
- Rate limiting
- Automation scripts
- API integration
- Performance optimization
- Contributing to the project
All videos will include:
- ✅ Closed Captions - For hearing impaired
- ✅ Transcripts - Text version of content
- ✅ Audio Descriptions - For visual content
- ✅ Playback Speed Control - 0.5x to 2x speed
- ✅ Keyboard Controls - Play, pause, volume, captions
Videos will be hosted on:
- YouTube - With captions and transcripts
- GitHub Releases - For offline download
- Project Website - Embedded with transcripts
For Content Creators
- Headings in hierarchical order (H1 → H2 → H3)
- Descriptive link text (no "click here")
- Alt text for all images
- Captions for tables
- Plain language (Grade 8-10)
- Technical terms defined in glossary
- Consistent navigation across pages
- Breadcrumb navigation
- Table of contents on long pages
- Skip to main content link
- Search functionality
- High contrast text (4.5:1 minimum)
- Resizable text (up to 200%)
- No information conveyed by color alone
- Clear focus indicators
- Touch-friendly tap targets (44x44px minimum)
- Keyboard accessible
- No keyboard traps
- Clear error messages
- Error prevention
- Time limits can be extended
- Captions for videos
- Transcripts for audio
- Audio descriptions for visual content
- Player controls accessible
Keyboard Navigation:
- Try to navigate entire site using only Tab, Enter, and Arrow keys
- Check that focus is visible on all interactive elements
- Verify no keyboard traps (can't get stuck)
Screen Reader Testing:
- Test with NVDA (Windows, free)
- Test with VoiceOver (macOS/iOS, built-in)
- Test with TalkBack (Android, built-in)
- Verify all content is readable
- Check link descriptions make sense
Visual Testing:
- Zoom to 200% - verify no horizontal scrolling
- Check color contrast with WebAIM Contrast Checker
- Test with high contrast mode enabled
- Verify text doesn't overlap or become unreadable
Tools:
- axe DevTools - Browser extension
- WAVE - Web accessibility evaluation tool
- Lighthouse - Built into Chrome DevTools
- Pa11y - Automated testing tool
How to Run Lighthouse:
- Open Chrome DevTools (F12)
- Go to "Lighthouse" tab
- Select "Accessibility"
- Click "Analyze page load"
- Review results and fix issues
Last Updated: 2026-03-10
Version: 1.0.0
Track: Documentation Optimization & Humanization
Phase: 7 - Accessibility & Search