This page is a test of whether screen readers announce label, aria-label, aria-labelledby, and aria-described by, if various combinations of these are present. The label, aria-label, and aria-describedby content is radically separated from the form fields in order to ascertain whether screen readers are using the markup, not positioning, to determine relationships.
Field 2 ARIA Label
Field 5 ARIA Label
Field 3 Description
Field 6 Description
When no labels are present, JAWS 12 (in IE9) reads aria-label and aria-labelledby if they're present. If aria-describedby is present, JAWS reads the nearest preceding text, then pauses briefly before reading the description text.
When labels are present, JAWS 12 ignores them and reads aria-label or aria-labelledby if they're present. If aria-describedby is present, JAWS reads the label first, then pauses briefly before reading the description text.
In JAWS settings, the user can choose whether to speak the label tag (selected by default), title, alt text, longest of the above, both label and title if different, or both label and alt if different. ARIA attributes aren't included among the options. It's interesting the label tag is trumped by aria-label and aria-labelledby, even though it's the default setting.
NVDA 2011.2rc1 and VoiceOver (Mac OS X 10.6.8) behave the same as JAWS, except that they don't announce the nearest preceding text if no label, aria-label, or aria-labelledby are present.