Inside a Form.Item with a name, this is done for you. The field gets an id, the <label> points at it, aria-required follows the rules, aria-invalid is set once validation fails, and the help text and extra are linked with aria-describedby.
- Outside a Form, none of this happens. Name the field yourself: a <label htmlFor> first, aria-labelledby pointing at visible text second, and aria-label only when there is no visible text at all.
- A search field in a toolbar is the usual aria-label case. Show the same word somewhere for sighted readers too, in a tooltip or on the button beside it.
- Put hints under the field. extra is read out because Form.Item links it. Text you place beside the field yourself is not, until you link it with aria-describedby.
- Set autoComplete. The right token on a name, email or address field lets readers fill it without typing.