Changes between Initial Version and Version 1 of Ticket #16307


Ignore:
Timestamp:
Nov 7, 2012, 10:51:43 PM (7 years ago)
Author:
bill
Comment:

Hmm, why do you have to sometimes set aria-labelledby on the popup's containerNode, but sometimes on the domNode? Why not always on the domNode? And why only check if aria-labelledby is already set in one of those cases?

The other thing is that you need to add automated tests for this functionality; you can't just add code to _HasDropDown without any (automatic) verification. It may be sufficient to add new checks to the existing tests.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #16307

    • Property Owner changed from bill to mikeb
    • Property Status changed from new to pending
  • Ticket #16307 – Description

    initial v1  
    1 Dijit.TooltipDialog has the role of dialog. However, I think that role=[http://www.w3.org/TR/wai-aria/roles#alertdialog alertdialog] is more appropriate because "Unlike alert, alertdialog can receive a response from the user", which is what TooltipDialog is for (form elements.)
     1Dijit.!TooltipDialog has the role of dialog. However, I think that role=[http://www.w3.org/TR/wai-aria/roles#alertdialog alertdialog] is more appropriate because "Unlike alert, alertdialog can receive a response from the user", which is what TooltipDialog is for (form elements.)
    22
    3 Aside from changing the role, we also need to have aria-labelledby attribute. This gets set from _hasDropDown on either the dropDown.containerNode (for FiltereingSelect and ComboBox) or dropDown.domNode (for Select, TabContainer, DropDownButton, DateTextBox, and TooltipDialog.) We have to have a few checks to not overwrite the current aria-labelledby (if there is one, like on DateTimeTextBox) and not to apply it if there is a role=presentation.
     3Aside from changing the role, we also need to have aria-labelledby attribute. This gets set from _HasDropDown on either the dropDown.containerNode (for !FiltereingSelect and !ComboBox) or dropDown.domNode (for Select, !TabContainer, !DropDownButton, !DateTextBox, and !TooltipDialog.) We have to have a few checks to not overwrite the current aria-labelledby (if there is one, like on !DateTimeTextBox) and not to apply it if there is a role=presentation.
    44
    55This should be enough to correctly set aria-labelledby on any dijit that is used as the dropDown, since dijits set up their aria roles and properties in either the containerNode or domNode. Since there is no "role" attachPoint for all of the dijits I think we need this conditional instead of just being able to set aria-labelledby for all dijits (like we did on #15885 with _popupStateNode).