Compliance: Remove emojis, add touch targets, add reduced-motion support

No-Emoji Policy (TODO.md rule):
- Replaced all emojis in UI code with Lucide icon names or text:
  - calendar-manager.ts: exam/lesson/holiday/term/event icons
  - signage-utils.ts: emergency/notification/schedule/announcement icons
  - behavior-tracking-view.tsx: placeholder text
  - i18n.ts: example text strings (DE + EN)
  - admin/signage, admin/compliance pages
  - compliance-wizard.tsx, substitute-teacher-view.tsx
- Verified: zero emojis remain in src/ (excluding comments)

Touch Target Compliance (44px minimum):
- Added comprehensive @media (pointer: coarse) CSS rules:
  - All buttons, [role=button], [role=tab], [role=option], [role=menuitem]
    get min-height/min-width: 44px
  - Icon-only buttons get extra padding
  - -webkit-touch-callout: none and user-select: none for buttons
  - touch-action: manipulation for smooth scrolling

Reduced-Motion Support:
- Added comprehensive @media (prefers-reduced-motion: reduce) rules:
  - All animations: duration 0.01ms, iteration 1
  - All transitions: duration 0.01ms
  - scroll-behavior: auto (no smooth scroll)
  - Framer-motion elements: opacity 1, transform none
This commit is contained in:
Z User committed 2026-08-10 21:23:38 +00:00
1 parent 13fce9d906
commit 678a4e9b83
10 files changed
+80 -26

No files matched your search

+2 -2
View File
@@ -479,7 +479,7 @@ export function ComplianceWizard({ schoolId, onComplete }: ComplianceWizardProps
/>
{state.dpiaModules[module.id]?.documentUrl && (
<p className="text-sm text-emerald-600 mt-2">
✓ {state.dpiaModules[module.id].documentUrl}
{state.dpiaModules[module.id].documentUrl}
</p>
)}
</div>
@@ -510,7 +510,7 @@ export function ComplianceWizard({ schoolId, onComplete }: ComplianceWizardProps
<CardContent className="space-y-4">
<div className="bg-emerald-50 border border-emerald-200 rounded-lg p-4">
<p className="text-sm text-emerald-800">
✓ All compliance requirements have been configured. Your school is now ready for
All compliance requirements have been configured. Your school is now ready for
production use.
</p>
</div>