The ``<label>`` tag improves usability for visually impaired users: Screen readers will announce the label text whenever the focus is set on the input field.
It also improves usability for users with impaired motor control: when the text within the ``<label>`` element is clicked, the associated input field is toggled.
Sometimes the field is explained by an icon. In this case the label can be either hidden or the ``<input>``, ``<select>`` or ``<textarea>`` tags should contain one of the following attributes: ``aria-label``, ``aria-labelledby``. Screen-readers will use those attributes to describe the field.
The purpose of this rule is to make sure that every ``input`` (except ``submit``, ``button``, ``image``, and ``hidden`` inputs), ``select``, and ``textarea`` field has a label.
No issue will be raised on "implicit labels", i.e. ``<label>`` tags enclosing an ``<input>``, ``<select>`` or ``<textarea>`` instead of being referencing via an``id``. However, note that the support of this technic is not supported by all assistive technologies. Thus it is better to reference them by id.