- From: James Craig <jcraig@apple.com>
- Date: Sun, 8 Jun 2008 22:23:39 -0700
- To: Aaron M Leventhal <aleventh@us.ibm.com>
- Cc: W3C WAI-XTECH <wai-xtech@w3.org>
Aaron M Leventhal wrote: > It's a useful distinction for a screen reader. > A screen reader may automatically read from start to end for an > alertdialog, but for a dialog just read the dialog title and current > focus chain (including pane or groupbox names for example). After completely rereading the latest draft, I am still unconvinced that there needs to be a separate role for dialog and alertdialog. What if an alertdialog was just a dialog that referenced its alert message contents in the describedby property? If a dialog has a describedby property, then both the label and description are spoken when the dialog is displayed. Otherwise, it's just a regular dialog and only the label is spoken. > As far as modal vs. nonmodal, we would need to add an ARIA property > or special role to make the distinction. After further thought, it seems like you could do it by having a dialog that was the only non-disabled element in the DOM. This might bring up the issue though, of how aria-disabled is inherited. Right now it's worded, "The state of being disabled applies to the current element and all focusable descendant elements of the element on which the disabled state is applied." It is not clear though, what should happen if I were to set aria- disabled="false" on a descendant of a disabled element. Would that descendent be enabled, or would it be overridden by its ancestor's disabled state? Depending on that answer, here are two markup possibilities for "modal dialogs" Possibility 1: <div role="main" aria-disabled="true"> <!-- all body contents are disabled --> </div> <div role="dialog"> <!-- modal dialog is not a descendent of the disabled element --> </div> Possibility 2: <div role="main" aria-disabled="true"> <!-- all body contents are disabled except for the dialog --> <div role="dialog" aria-disabled="false" > <!-- modal dialog is an enabled descendent of the disabled element --> </div> </div>
Received on Monday, 9 June 2008 05:24:20 UTC