808 B
808 B
2025-02-18 - Missing Alerts for Dynamic Status
Learning: The application uses framer-motion for dynamic feedback messages but consistently lacks role="alert" and aria-live attributes, causing screen readers to miss critical status updates.
Action: When auditing forms, check all motion.div/p elements used for feedback and add role="alert" and aria-live="polite" (or "assertive" for errors).
2024-05-22 - Semantic Required Fields with Custom Validation
Learning: To combine custom validation UI with semantic required attributes (vital for a11y), add noValidate to the <form>. This prevents native browser bubbles while keeping the accessibility benefits.
Action: Use noValidate on forms when implementing custom validation but keep required attributes on inputs.