Goal
A comprehensive UX audit focusing on edge cases, error states, and accessibility basics. This 30-minute session should probe every failure mode the app might encounter.
---
Section 1: Input edge cases (8 min)
1. Text fields
1. In every form on the page, try:
- Very long text (100+ characters) — does the field handle it gracefully?
- Special characters: `<script>alert(1)</script>`, `' OR 1=1`, emojis: 🎉🔥
- Whitespace only — does the form accept a space as a valid value?
2. **Report:** Any crashes, garbled output, or missing validation?
2. Numbers and dates
3. If the app has numeric inputs: try negative numbers, 0, very large numbers (999999999)
4. If the app has date pickers: try past dates, future dates, invalid dates (Feb 30)
5. **Report:** Any unexpected behavior?
---
Section 2: Error states (7 min)
3. API errors
6. Try actions that should fail:
- Submit a form while offline (disable network in DevTools if possible, or disconnect WiFi)
- Rapid-click a submit button multiple times
7. **Report:** Is a user-friendly error shown, or a raw error/blank state?
4. Validation messages
8. Submit every required form with fields empty
9. **Report:**
- Are validation errors shown inline (next to fields) or just at the top?
- Are the messages helpful ("Email is required") or generic ("Invalid input")?
---
Section 3: Loading & performance (5 min)
5. Loading states
10. Navigate between pages and observe loading
11. **Report:**
- Is there a loading indicator (spinner, skeleton, progress bar)?
- Any pages that show blank white for >1 second?
- Any layout shift (content jumping) after load?
---
Section 4: Keyboard & accessibility (10 min)
6. Keyboard navigation
12. Tab through the page using only the keyboard (no mouse)
13. **Report:**
- Can you reach all interactive elements with Tab?
- Is there a visible focus ring on each element?
- Does Tab order make logical sense?
7. Screen reader basics
14. Check that images have alt text (right-click → Inspect → look for alt= attribute)
15. Check that form inputs have labels (not just placeholder text)
16. **Report:** Any inputs with no label? Any decorative images without alt=""?
8. Color contrast
17. Look at text on colored backgrounds (buttons, badges, banners)
18. **Report:** Any text that's hard to read (light gray on white, yellow on white, etc.)?
---
What to report
- Any input that accepted clearly invalid data silently
- Any error that showed a blank screen instead of a message
- Any element unreachable by keyboard
- Overall rating of the app's polish and error handling