Re: ISSUE-636 CTION-1398 Provide spec. text for aria-roledescription

On Apr 1, 2014, at 7:32 AM, Steve Faulkner <faulkner.steve@gmail.com> wrote:

> On 1 April 2014 15:23, Matthew King <mattking@us.ibm.com> wrote:
>> My understanding is that <div role="region" roledescription="chapter" .... would still expose the role of the div to the AT as region. None of the role information is lost.
> 
> what do AT currently do, on Mac for example, does VoiceOver announce both role an role description?

VoiceOver announces either the AXRoleDescription or nothing, never the AXRole. AXRole is a non-localized token value that determines functionality. The string that a VoiceOver user hears is a localized, human-understandable string… the "role description." VoiceOver does not speak the role value literally. The reason you hear "button" for role="button" is because WebKit knows that control maps to the AXButton role, and it also knows that "button" is the default English-localized role description for that role. Likewise, you would hear "menu item" and "radio button" by default, not "menuitem" and "radio"…

Apps (like Safari) and Frameworks (like AppKit) provide the role description through the AX API. If a user uses a standard control like a slider, the App or Framework will provide the AXRole as AXSlider, and the AXRoleDescription as "slider" in English, and an appropriately localized version in other languages. If an app developer has a good reason to use a custom role description

1. <video> in HTML might default to <video role="group" aria-roledescription="video">
2. EPUB chapters might default to role="section" aria-roledescription="chapter"
3. SVG could use <g role="group" aria-roledescription="chart">
4. Slides in web versions of Keynote/PowerPoint could use <section aria-roledescription="slide">
5. Component libraries like SAP or Oracle might use role="dialog" aria-roledescription="date picker"

Received on Tuesday, 1 April 2014 17:41:51 UTC