Effective Label Test

Text Inputs

Example 1: Label

Example 2: Title

Example 3: Label + Title

Example 4: Label + Empty Title

Image Inputs

Example 5: Alt

Example 6: Title

Example 7: Alt+ Title

Example 8: Alt + Empty Title

Button Inputs

Example 9: Value

Example 10: Value + Title

Example 11: Value + Empty Title

Button Elements

Example 12: Content

Example 13: Content + Title

Example 14: Content + Empty Title

Example 15: Content + Invisible Text

<button id="button7"><span class="invisible">invisible text </span>Content</button>
.invisible { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

Results

Example JAWS 10.0.1167 JAWS 11.0.1430
"Use Title"
JAWS 11.0.1430
"Use Screen Text" (default)
NVDA 2010.1 (tabbing)
1 label label label label edit
2 title title title title edit
3 label label label label edit title
4 label label label label edit
5 alt alt alt alt button
6 title title title title button
7 title title title title button
8 alt alt alt button
9 value value value value button
10 title title value title button
11 value value value button
12 content content content content button
13 title title content title button
14 content content content button
15 invisible text content invisible text content invisible text content invisible text content

In general, the formula to determine the effective label for a button appears to be:

Effective Label = [Legend] + [(Label) | Title | Alt | Content | Value]

Noting that the default setting/behavior for JAWS 11 has been changed to "Use Screen Text", which reads the text showing on the face of the button regardless of the other attributes. Setting JAWS 11 to "Use Title" for buttons with revert to the previous (and probably preferable) behavior.

Note that with NVDA the presence of an empty title attribute on any kind of button causes NVDA not to read the alt, content, or value.