# Accessibility Testing Guide ## Keyboard Navigation Testing Test these flows without using the mouse. Use only Tab, Shift+Tab, Enter, Space, and Arrow keys. ### Test Flow 1: Bottom Navigation 1. Load the application 2. Press Tab repeatedly to highlight each nav button 3. Verify focus ring is visible on each button (blue outline) 4. Press Enter to navigate to each section 5. Verify you can navigate back with Shift+Tab **Expected Result:** All 5 buttons (Home, Inventory, Logs, Admin, Logout) are reachable via Tab. Focus is always visible. ### Test Flow 2: Scanner Component 1. Navigate to home page 2. Press Tab to reach zoom button (if available) 3. Press Tab to reach "Try Again" button 4. Verify focus states are clear 5. Press Enter on buttons to activate them **Expected Result:** All buttons show focus ring before activation. ### Test Flow 3: Modal Dialogs 1. Trigger ItemComparisonModal or ConfirmationModal 2. Press Tab through all buttons 3. Verify focus doesn't trap (can escape with Tab/Escape) 4. Close modal with Escape key 5. Focus should return to trigger button **Expected Result:** Modals don't create keyboard traps. All buttons are tab-reachable. ### Test Flow 4: Form Inputs 1. Navigate to AIOnboarding upload form 2. Press Tab through all form fields 3. Verify focus ring appears on all inputs 4. Type in each field to verify they're functional 5. Press Tab to next field **Expected Result:** All input fields are reachable and usable via keyboard. --- ## Accessibility Audit Checklist ### Level 1: Critical (Must Fix) - [ ] All buttons have focus indicators (focus:ring-2) - [ ] All clickable elements have cursor-pointer - [ ] All form inputs have associated labels - [ ] All images have descriptive alt text - [ ] No keyboard traps (tab can always move forward/backward) - [ ] Focus order follows visual order (left→right, top→bottom) ### Level 2: Major (Should Fix) - [ ] Icon-only buttons have aria-label - [ ] Modal dialogs manage focus - [ ] Error messages are associated with form fields - [ ] Color is not the only indicator (text + color) - [ ] Touch targets are 44×44px minimum - [ ] Text contrast is 4.5:1 minimum (WCAG AA) ### Level 3: Minor (Nice to Have) - [ ] Skip links for keyboard users - [ ] Landmark elements (
,