Add comprehensive accessibility testing documentation: - Keyboard navigation testing flows (5 detailed test scenarios) - Screen reader testing guide (VoiceOver, Narrator) - Color contrast testing procedures - Mobile accessibility requirements - Touch target size validation - Tool recommendations (Axe, WAVE, Lighthouse) - Issue reporting template - WCAG 2.1 Level AA compliance tracking Accessibility improvements: - Add prefers-reduced-motion media query to globals.css - Disable animations/transitions for users with reduced motion preference - Respect animation timing preferences - Improve experience for motion-sensitive users This completes the 3-phase accessibility overhaul and establishes ongoing testing and compliance procedures.
92 lines
1.8 KiB
CSS
92 lines
1.8 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
|
|
:root {
|
|
/* slate-950 forced as default to prevent white flash */
|
|
--background: #020617;
|
|
--foreground: #f1f5f9;
|
|
--primary: #3b82f6;
|
|
--primary-foreground: #ffffff;
|
|
}
|
|
|
|
body {
|
|
color: var(--foreground);
|
|
background-color: var(--background);
|
|
font-family: inherit; /* Use Next.js font if defined, or system default */
|
|
}
|
|
|
|
/* Custom Scrollbar Styling */
|
|
::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #020617; /* slate-950 */
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #1e293b; /* slate-800 */
|
|
border-radius: 10px;
|
|
border: 2px solid #020617; /* adds padding effect */
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #334155; /* slate-700 */
|
|
}
|
|
|
|
/* Removed: glass-card utility (eliminated glassmorphism aesthetic) */
|
|
@layer utilities {
|
|
|
|
.text-fluid-lg {
|
|
font-size: clamp(1.125rem, 3cqi, 1.5rem);
|
|
}
|
|
|
|
.text-fluid-xl {
|
|
font-size: clamp(1.5rem, 5cqi, 2.25rem);
|
|
}
|
|
|
|
.card-title {
|
|
@apply text-base font-black text-slate-100 tracking-tight;
|
|
}
|
|
|
|
.card-subtitle {
|
|
@apply text-[10px] font-bold text-slate-500 uppercase tracking-[0.08em] mt-0.5;
|
|
}
|
|
}
|
|
|
|
/* Safe Area Insets for Modern Mobile Devices (iOS Notch/Home Bar) */
|
|
.pb-safe {
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
}
|
|
|
|
.pt-safe {
|
|
padding-top: env(safe-area-inset-top);
|
|
}
|
|
|
|
/* Accessibility: Respect user's reduced motion preference */
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
animation-duration: 0.01ms !important;
|
|
animation-iteration-count: 1 !important;
|
|
transition-duration: 0.01ms !important;
|
|
}
|
|
|
|
/* Disable keyframe animations */
|
|
@keyframes scan {
|
|
0%, 100% { top: 0%; }
|
|
50% { top: 100%; }
|
|
}
|
|
|
|
.animate-spin-slow {
|
|
animation: none !important;
|
|
}
|
|
|
|
.animate-pulse {
|
|
animation: none !important;
|
|
}
|
|
}
|