Testing form field errors

Which of the form fields below has:

Example 1

Not recommended. Screen reader users may not be told that the field has an error or hear the error message when they move to the field.

You must include a full name
HTML markup
<label for="na">Full name</label>
<input id="na">
<span>You must include a full name</span>

Example 2

Not recommended. Screen reader users may hear the error message when they move to the field, but may not be told that the field is currently invalid.

You must include a valid email address
HTML markup
<label for="em">Email address</label>
<input id="em" type="email" aria-describedby="bbb">
<span id="bbb">You must include a valid email address</span>

Example 3

Recommended. Screen reader users can be told that the field is invalid and hear the error message when they move to the field.

Include your area code
HTML markup
<label for="ph">Phone number</label>
<input id="ph" aria-describedby="ccc" aria-invalid="true">
<span id="ccc">Include your area code</span>