Issue #3083103: Programmatically associate error messages with inputs
MR based on MR-7080 for 3083103
Improvements to MR-7080:
- passes
error_idfrom preprocess to templates instead of hard-coding IDs in Twig - adds consistent
form-item--error-messageclass across all error wrappers - standardizes error placement to after children
- adds
aria-describedbyfallback for assistive technologies that don't supportaria-errormessage - strips error aria attributes from composite child elements, and introduces
#error_idproperty for flexible ID override - includes test coverage