Task 15: Accessibility audit complete
- Sidebar: Replace <aside role="navigation"> with <nav> to avoid conflicting roles
- Sidebar search: Add combobox role, aria-expanded, aria-controls, aria-autocomplete
- Search results: Add listbox/option roles, group labels for screen reader navigation
- PMRInterface: Remove redundant role="main", fix aria-label to use CV-friendly labels
- Mobile search: Add aria-label and type="search" for proper semantics
- Breadcrumb: Add aria-current="page" to current item, aria-hidden on separators
- Clinical alert: Add aria-label="Acknowledge clinical alert" on button per spec
- Patient banner: Change focus:ring to focus-visible:ring on action buttons
- Patient banner: Add role="img" to StatusDot for aria-label accessibility
- Login screen: Change role="status" to role="dialog" with aria-modal
- Login screen: Add loginButtonRef with auto-focus when typing completes
- Login screen: Add focus-visible ring style to Log In button
- Medications tabs: Add id="tab-{id}" to tab buttons, fix aria-labelledby on panels
- Consultations: Wrap entries in <article> per semantic HTML spec
- Problems: Change TrafficLight dot from role="img" to aria-hidden (text label handles it)
- App: Add sr-only live region announcing "Patient Record for Charlwood, Andrew" on PMR entry
- Skip button: Add focus-visible ring for keyboard users
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+8
-1
@@ -18,7 +18,7 @@ function SkipButton({ onSkip }: { onSkip: () => void }) {
|
||||
<button
|
||||
onClick={onSkip}
|
||||
aria-label="Skip intro animation"
|
||||
className="fixed bottom-6 left-1/2 -translate-x-1/2 z-[100] px-4 py-1.5 text-xs tracking-widest uppercase font-mono border rounded transition-all duration-700 cursor-pointer select-none"
|
||||
className="fixed bottom-6 left-1/2 -translate-x-1/2 z-[100] px-4 py-1.5 text-xs tracking-widest uppercase font-mono border rounded transition-all duration-700 cursor-pointer select-none focus:outline-none focus-visible:ring-2 focus-visible:ring-white/40"
|
||||
style={{
|
||||
color: '#555',
|
||||
borderColor: '#333',
|
||||
@@ -51,6 +51,13 @@ function App() {
|
||||
return (
|
||||
<AccessibilityProvider>
|
||||
<div className="min-h-screen bg-black">
|
||||
{/* Screen reader announcement for PMR phase */}
|
||||
{phase === 'pmr' && (
|
||||
<div className="sr-only" role="status" aria-live="polite" aria-atomic="true">
|
||||
Patient Record for Charlwood, Andrew. Summary view.
|
||||
</div>
|
||||
)}
|
||||
|
||||
{phase === 'boot' && (
|
||||
<BootSequence
|
||||
onComplete={() => setPhase('ecg')}
|
||||
|
||||
Reference in New Issue
Block a user