[webkit-dev] Exposing WebKit/Safari's unique full keyboard access setting to web applications

2014-05-12 Thread James Craig
WebKit Dev,

Safari is unique among desktop browsers in that full keyboard access (FKA) is 
off by default, and the Tab key moves focus only to textfields and select 
elements. You can modify this behavior using a system-wide setting (System 
Prefs  Keyboard  Shortcuts  All Controls) and/or a Safari-specific setting 
(Safari  Prefs  Advanced  Press Tab to…). If you change both settings, 
you'll have a keyboard focus behavior that is similar to that of other desktop 
browsers, such that every focusable control appears in the sequential Tab 
order.

Many JavaScript UI libraries capture default Tab behavior for a variety of 
reasons, and maintain their own concept of a first responder. In these cases, 
we need to expose the user's FKA setting so that keyboard behavior can be 
appropriately managed by web applicationk according to the user's expectations.

We've been discussing a number of solutions internally with WebKit engineers, 
and externally with other browser developers and standards bodies. One of the 
proposed solutions is to expose a new property and change event on the 
Navigator object:

 var fbSetting = navigator.webkitFocusBehavior;
 navigator.addEventListener(webkitfocusbehaviorchanged, 
 handleFocusBehaviorChanged);


Another solution is to implement this as a vendor-prefixed key in the 
userSetting interface of the IndieUI User Content ED:
https://dvcs.w3.org/hg/IndieUI/raw-file/default/src/indie-ui-context.html

 var fbSetting = window.userSetting(-webkit-focus-behavior);

 window.addSettingListener(-webkit-focus-behavior, 
 handleFocusBehaviorChanged);


Despite this behavior being unique to Safari, we do not believe the setting is 
unique to WebKit or Safari, so either implementation may be proposed for 
standardization to the various W3C working groups. For example, focus 
behavior setting may be useful in mobile contexts, where the concept of 
focus is not necessarily related to a keyboard interface or the Tab key.

Are there objections to implementing either proposal behind a flag? Are there 
preferences for or comments on either approach?

Thanks,
James Craig

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Exposing WebKit/Safari's unique full keyboard access setting to web applications

2014-05-12 Thread James Craig
WebKit Dev,

Safari is unique among desktop browsers in that full keyboard access (FKA) is 
off by default, and the Tab key moves focus only to textfields and select 
elements. You can modify this behavior using a system-wide setting (System 
Prefs  Keyboard  Shortcuts  All Controls) and/or a Safari-specific setting 
(Safari  Prefs  Advanced  Press Tab to…). If you change both settings, 
you'll have a keyboard focus behavior that is similar to that of other desktop 
browsers, such that every focusable control appears in the sequential Tab 
order.

Many JavaScript UI libraries capture default Tab behavior for a variety of 
reasons, and maintain their own concept of a first responder. In these cases, 
we need to expose the user's FKA setting so that keyboard behavior can be 
appropriately managed by web applicationk according to the user's expectations.

We've been discussing a number of solutions internally with WebKit engineers, 
and externally with other browser developers and standards bodies. One of the 
proposed solutions is to expose a new property and change event on the 
Navigator object:

 var fbSetting = navigator.webkitFocusBehavior;
 navigator.addEventListener(webkitfocusbehaviorchanged, 
 handleFocusBehaviorChanged);


Another solution is to implement this as a vendor-prefixed key in the 
userSetting interface of the IndieUI User Content ED:
https://dvcs.w3.org/hg/IndieUI/raw-file/default/src/indie-ui-context.html

 var fbSetting = window.userSetting(-webkit-focus-behavior);

 window.addSettingListener(-webkit-focus-behavior, 
 handleFocusBehaviorChanged);


Despite this behavior being unique to Safari, we do not believe the setting is 
unique to WebKit or Safari, so either implementation may be proposed for 
standardization to the various W3C working groups. For example, focus 
behavior setting may be useful in mobile contexts, where the concept of 
focus is not necessarily related to a keyboard interface or the Tab key.

Are there objections to implementing either proposal behind a flag? Are there 
preferences for or comments on either approach?

Thanks,
James Craig

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] dump accessibility tree

2014-04-23 Thread James Craig
Check out dumpAccessibilityChildren() in:
./LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html

Also look in:
./Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
./Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl


On Apr 23, 2014, at 1:49 PM, Chris Fleizach cfleiz...@apple.com wrote:

 A few of the layout tests have something like this where it can iterate every 
 object.
 
 Although usually, the platform AX trees are pretty accurate representations 
 of what in the WebCore AX tree
 
 On Apr 23, 2014, at 12:34 PM, Jarek Czekalski ja...@jarek.katowice.pl wrote:
 
 Hi All!
 
 I'm trying to discover the way accessibility works in webkit and maybe fix 
 some orca blockers. There is a renderer tree, that I can dump using 
 DumpRenderTree. There is also atk tree, that I can inspect with python 
 scripts and accerciser. But there is also a layer inbetween, something like 
 WebCore Accessibility Tree. Is there a way to dump the tree for a given page?
 
 Or maybe there are other useful tools or tricks, to use when I see a broken 
 atk tree, like in bug #131933 [1]?
 
 Thanks in advance
 Jarek
 
 [1] https://bugs.webkit.org/show_bug.cgi?id=131933
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding flag to optionally run check-webkit-style as part of prepare-Changelog and svn-create-patch

2014-04-21 Thread James Craig
Thanks to Brendan, Alexey, Zoltan, and Daniel for the feedback on this, which 
I've addressed. Any more comments? Thanks.

r?

On Apr 4, 2014, at 12:14 AM, James Craig jcr...@apple.com wrote:

 I sometimes forget to run the check-webkit-style script before uploading 
 patches, so I put a patch up for review that adds a --style and --no-style 
 flags to prepare-Changelog and svn-create-patch. Alexey suggested I make it 
 the default, which I've done for prepare-Changelog, but not in 
 svn-create-patch due to cross-references that cause a loop when it't the 
 default. (I just added the --style flag to my local bash alias.)
 
 Any concerns or suggestions? Thanks.
 
 http://webkit.org/b/131115
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Adding flag to optionally run check-webkit-style as part of prepare-Changelog and svn-create-patch

2014-04-04 Thread James Craig

I sometimes forget to run the check-webkit-style script before uploading 
patches, so I put a patch up for review that adds a --style and --no-style 
flags to prepare-Changelog and svn-create-patch. Alexey suggested I make it the 
default, which I've done for prepare-Changelog, but not in svn-create-patch due 
to cross-references that cause a loop when it't the default. (I just added the 
--style flag to my local bash alias.)

Any concerns or suggestions? Thanks.

http://webkit.org/b/131115

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding flag to optionally run check-webkit-style as part of prepare-Changelog and svn-create-patch

2014-04-04 Thread James Craig
Yes, but not everyone uses the webkit-patch script in their workflow.

 On Apr 4, 2014, at 7:27 AM, Brendan Long s...@brendanlong.com wrote:
 
 Doesn't 'webkit-patch upload' already do that?
 
 On 04/04/2014 02:14 AM, James Craig wrote:
 I sometimes forget to run the check-webkit-style script before uploading 
 patches, so I put a patch up for review that adds a --style and --no-style 
 flags to prepare-Changelog and svn-create-patch. Alexey suggested I make it 
 the default, which I've done for prepare-Changelog, but not in 
 svn-create-patch due to cross-references that cause a loop when it't the 
 default. (I just added the --style flag to my local bash alias.)
 
 Any concerns or suggestions? Thanks.
 
 http://webkit.org/b/131115
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev
 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding flag to optionally run check-webkit-style as part of prepare-Changelog and svn-create-patch

2014-04-04 Thread James Craig

On Apr 4, 2014, at 9:08 AM, Zoltan Horvath zol...@webkit.org wrote:

 Hi there,
 
 prepare-Changelog:
  - The style checker script runs on the ChangeLogs as well, and it gives 
 warning if the bug number or the tests' line are not filled.

I consider this an expected behavior. If you don't include --bug=12345 
parameter when running prepare-Changelog, your diff is currently in a state 
that would fail style checks. Having the Terminal output immediately tell you 
that detail is useful.

  - I think the best behavior for this case would be to abort the change log 
 creation, if there are errors on the actual code check. (Then you can fix 
 those, and when you rerun prepare-Changelog, it puts the recent things into 
 the change log. [e.g. you've got a lower/uppercase function naming warning, 
 and the function name appears in the change log])

I don't think this is right. If we aborted the change log creation, you'd never 
be able to run prepare-Changelog without the --bug parameter, unless you 
specifically disabled the style check with --no-style.

 svn-create-patch:
  - Add it! It's a good idea.
 
 Cheers,
 Zoltan
 
 
 
 On Fri, Apr 4, 2014 at 7:41 AM, James Craig jcr...@apple.com wrote:
 Yes, but not everyone uses the webkit-patch script in their workflow.
 
  On Apr 4, 2014, at 7:27 AM, Brendan Long s...@brendanlong.com wrote:
 
  Doesn't 'webkit-patch upload' already do that?
 
  On 04/04/2014 02:14 AM, James Craig wrote:
  I sometimes forget to run the check-webkit-style script before uploading 
  patches, so I put a patch up for review that adds a --style and --no-style 
  flags to prepare-Changelog and svn-create-patch. Alexey suggested I make 
  it the default, which I've done for prepare-Changelog, but not in 
  svn-create-patch due to cross-references that cause a loop when it't the 
  default. (I just added the --style flag to my local bash alias.)
 
  Any concerns or suggestions? Thanks.
 
  http://webkit.org/b/131115
 
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  https://lists.webkit.org/mailman/listinfo/webkit-dev
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding flag to optionally run check-webkit-style as part of prepare-Changelog and svn-create-patch

2014-04-04 Thread James Craig
On Apr 4, 2014, at 1:33 PM, Zoltan Horvath zol...@webkit.org wrote:

 On Fri, Apr 4, 2014 at 12:43 PM, James Craig jcr...@apple.com wrote:
 
 On Apr 4, 2014, at 9:08 AM, Zoltan Horvath zol...@webkit.org wrote:
 
 Hi there,
 
 prepare-Changelog:
  - The style checker script runs on the ChangeLogs as well, and it gives 
 warning if the bug number or the tests' line are not filled.
 
 I consider this an expected behavior. If you don't include --bug=12345 
 parameter when running prepare-Changelog, your diff is currently in a state 
 that would fail style checks. Having the Terminal output immediately tell 
 you that detail is useful.
 
  - I think the best behavior for this case would be to abort the change log 
 creation, if there are errors on the actual code check. (Then you can fix 
 those, and when you rerun prepare-Changelog, it puts the recent things into 
 the change log. [e.g. you've got a lower/uppercase function naming warning, 
 and the function name appears in the change log])
 
 I don't think this is right. If we aborted the change log creation, you'd 
 never be able to run prepare-Changelog without the --bug parameter, unless 
 you specifically disabled the style check with --no-style.
 
 I'd avoid running the style-checker on the change logs themselves since 
 these're being created when running prepare-Changelog, and abort changelog 
 creation, if the _rest of the code_ have coding style violation since fact 
 of violation is our interest at this point.

What if we file another bug for that part of the work? It seems like a 
nice-to-have, but not necessary for this patch.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)

2013-10-08 Thread James Craig

 On Oct 8, 2013, at 1:02 AM, Dirk Schulze dschu...@adobe.com wrote:
 
 I hope you understand that I am not particularly concerned about Apples 
 screen reader solution. It is one implementation. I would like to know if 
 JAWS, NVDA, Dolphin and other are aboard.

Withe the exception of NVDA, the other screen reader vendors are typically 
uninvolved in the standards process, so I would not expect feedback. As for 
NVDA, none of the other browsers expose even plain text generated content, so 
this likely just represents a problem that they don’t know they have yet. I did 
discuss this solution in the PF working group before proposing it to CSS.

That said, this change would not require the screen readers (including 
VoiceOver) to do anything special. It just changes the way the UAs expose a bit 
of text (or an image text alternative) to the accessibility APIs, so I don’t 
think buy-in from screen reader vendors is critical. This is a browser issue, 
and all the browser vendors have representatives in CSS.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)

2013-10-01 Thread James Craig
Follow-up question:  Since this hasn’t made it into the CSS4 spec yet, should 
we temporarily use “-webkit-alt” for the property name? I know there has been a 
push to move away from vendor prefixes lately, so if there are no objections, I 
propose we use the unprefixed version.

On Sep 30, 2013, at 10:08 PM, James Craig jcr...@apple.com wrote:

 AX: Implement CSS -webkit-alt property
 https://bugs.webkit.org/show_bug.cgi?id=120188
 
 This is blocking 20+ bugs on one of our higher profile content sites and we’d 
 like to start work on it. To clarify, the problem is that with CSS generated 
 content in pseudo-elements like this:
 
   .expandable::before { content: \25BA; /* a.k.a. ► */ }
 
 …there is no way to prevent VoiceOver from speaking the literal character 
 description, “right pointing black pointer.” If this were an actual DOM node, 
 we could hang some ARIA attributes on it, but there is no node for 
 pseudo-elements, so the property has to be defined in CSS.
 
 The CSS Working Group discussion indicates the editors (Tab from Google, and 
 Elika from Mozilla) are generally on board with the concept of accessible 
 text alternatives for CSS generated content and Tab suggested the property 
 name. It is not in a CSS4 draft yet, but some usage examples are below.
 
 Rendering a decorative disclosure triangle on a collapsed” ARIA treeitem:
 
   [aria-expanded=false”]::before {
   content: \25BA; /* a.k.a. ► , literally “right pointing black 
 pointer” */
   alt: ; /* aria-expanded=false already in DOM, so this 
 pseudo-element is decorative */
   }
 
 And this, where a style indicates new content, screen readers can speak “New” 
 instead of “shadowed white star”:
 
   [data-new]::after {
   content: \2730”; /* a.k.a. ✰ , literally “shadowed white star” 
  */
   alt: attr(data-new); /* allows for localized content from the 
 DOM, e.g. @data-new=New! */
   }
 
 Any questions or concerns?
 
 Thanks,
 James
 
 
 PS. Related to this one is bug 122138, where the “alt” can be specified 
 inline after url() image content:
 
 AX: WebKit does not expose text alternative of CSS generated image content
 https://bugs.webkit.org/show_bug.cgi?id=122138
 
   .new::after {
   content: url(./star.png), New!;
   }
 
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)

2013-09-30 Thread James Craig
AX: Implement CSS -webkit-alt property
https://bugs.webkit.org/show_bug.cgi?id=120188

This is blocking 20+ bugs on one of our higher profile content sites and we’d 
like to start work on it. To clarify, the problem is that with CSS generated 
content in pseudo-elements like this:

.expandable::before { content: \25BA; /* a.k.a. ► */ }

…there is no way to prevent VoiceOver from speaking the literal character 
description, “right pointing black pointer.” If this were an actual DOM node, 
we could hang some ARIA attributes on it, but there is no node for 
pseudo-elements, so the property has to be defined in CSS.

The CSS Working Group discussion indicates the editors (Tab from Google, and 
Elika from Mozilla) are generally on board with the concept of accessible text 
alternatives for CSS generated content and Tab suggested the property name. It 
is not in a CSS4 draft yet, but some usage examples are below.

Rendering a decorative disclosure triangle on a collapsed” ARIA treeitem:

[aria-expanded=false”]::before {
content: \25BA; /* a.k.a. ► , literally “right pointing black 
pointer” */
alt: ; /* aria-expanded=false already in DOM, so this 
pseudo-element is decorative */
}

And this, where a style indicates new content, screen readers can speak “New” 
instead of “shadowed white star”:

[data-new]::after {
content: \2730”; /* a.k.a. ✰ , literally “shadowed white star” 
 */
alt: attr(data-new); /* allows for localized content from the 
DOM, e.g. @data-new=New! */
}

Any questions or concerns?

Thanks,
James


PS. Related to this one is bug 122138, where the “alt” can be specified inline 
after url() image content:

AX: WebKit does not expose text alternative of CSS generated image content
https://bugs.webkit.org/show_bug.cgi?id=122138

.new::after {
content: url(./star.png), New!;
}


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing DIALOG_ELEMENT for now

2013-08-29 Thread James Craig
I'd like to see support for @inert subtrees prioritized if dialog is going to 
be postponed. So many web authors are faking this behavior now, which is 
problematic for full keyboard access and accessibility. 


On Aug 29, 2013, at 10:50 AM, Ryosuke Niwa rn...@webkit.org wrote:

 While I'd like to see us eventually supporting it, it seems sensible to 
 remove it from the code base if no port is planning to enable it by default 
 in the near future.
 
 - R. Niwa
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing DIALOG_ELEMENT for now

2013-08-29 Thread James Craig
On Aug 29, 2013, at 12:56 PM, Darin Adler da...@apple.com wrote:

 On Aug 29, 2013, at 12:44 PM, James Craig jcr...@apple.com wrote:
 
 I'd like to see support for @inert subtrees prioritized if dialog is going 
 to be postponed.
 
 I don’t think dialog is being postponed; just that no one has immediate 
 plans to use the implementation in the tree that is not being compiled.
 
 Which of these two do you think we should give higher priority to, though?

Not sure how to answer… @inert represents a subset of the implementation of 
dialog so I don't know how dialog could be prioritized *over* @inert, but 
it would be possible to implement @inert without finishing a complete 
implementation of dialog. 

From an accessibility perspective, we already have a dialog role (which is 
extremely easy for authors to implement), so the dialog element and 
convenience methods associated with it are not as high a priority. The place 
where most web authors fall down with regards to dialog implementation is with 
focus management (moving keyboard and screen reader focus into the dialog) and 
not hiding the background contents (preventing keyboard and AT users from 
tabbing through the background contents behind a modal dialog), and I 
believe @inert would solve a lot of that. There isn't a practical way to 
achieve this behavior now, which is why ~99.9% of web authors are doing this 
in a way that falls short for keyboard and screen reader users.

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Heads up: changing default for selectionIncludesAltImageText

2013-04-27 Thread James Craig
I wanted to give the list a heads up because the related issue was somewhat 
controversial last time. 

To give some context, this is about whether image alt text should be included 
in the plain text pasteboard. Most everyone is of the opinion that it should, 
but several of us feel that it should be delimited to some degree so that it's 
more clear this came from an image and was not originally presented as plain 
text.

Here is the original thread and bug that resulted in this feature being 
implemented but left disabled by default:
https://bugs.webkit.org/show_bug.cgi?id=11200

The discussion also resulted in an HTML defect filed to clarify this portion of 
the spec.
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21403

While I still feel there is room to explore some delimiting options, the HTML 
spec has since been updated to be less ambiguous in this area, and the other 
main browsers support the behavior, so I think it's reasonable to enable it by 
default until such time as 1) this is shown to be problematic, or 2) a better 
solution is proposed.

Here's the new bug for the settings change.
https://bugs.webkit.org/show_bug.cgi?id=115283


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2013-01-17 Thread James Craig
IMO, the following represents enough evidence to land the patch as soon as the 
last layout test failure is resolved.
https://bugs.webkit.org/show_bug.cgi?id=103172

1. Sam Ruby, as Chair declared this passing the HTML WG vote, With no 
objections and ample support, this resolution passes.
http://lists.w3.org/Archives/Public/public-html/2012Nov/0232.html

2. Representatives from another rendering engine vendor (Mozilla) have 
expressed support for this feature and a willingness to implement it.

2a. David Bolter, said, …this [main] is a good thing!
http://lists.w3.org/Archives/Public/public-html/2012Dec/0073.html

2b. Henri Sivonen: I think we should implement it because… (Gecko 
patch pending)
https://bugzilla.mozilla.org/show_bug.cgi?id=820508

3. And finally, main already landed in the HTML 5.1 spec about a week ago.
http://www.w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-30 Thread James Craig
On Nov 29, 2012, at 7:19 PM, Alex Russell slightly...@google.com wrote:

 My object is somewhat different. I think it's useful for the readability 
 use-case (and the other proposed solutions are mostly bad jokes), but it 
 doesn't strike me that this give you much default UI and doesn't plumb 
 through any new low-level capability.
 
 In that vein, I wonder why it's not being proposed as an ARIA role instead?

'main' is already one of the subclass roles of landmark[1], many of which have 
have direct 1:1 default role mappings to new HTML5 elements (e.g. 
nav[role=navigation], footer[role=contentinfo]) and the proposal is, in part, 
to have an element on which to hang the default semantics of the 'main' 
landmark role. The accessibility role default is one important argument, but 
there were several others raised in favor of the element, including the 
semantic clarity or heuristic ease for readability/reader that you mentioned, 
as well as CSS hooks, script hooks, and other organizational benefit for 
content authors.

1. http://www.w3.org/TR/wai-aria/complete#landmark

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig
On Nov 26, 2012, at 2:01 PM, Steve Faulkner faulkner.st...@gmail.com wrote:

 I have submitted a patch [1] to add  main element support to webkit and 
 would appreciate your consideration.

You should also add a layout test.


From an accessibility perspective, the main element is an easy win. There is 
currently no element on which to hang the landmark, so expert web authors are 
forced to use ARIA on top of HTML5 div role=main, and non-experts miss an 
opportunity that would make their web content more accessible div id=main 
(semantically meaningless).

On top of the major accessibility win, it's another organizational hook for 
scripts or CSS, like header or nav.

I respond to some of the other comments in each sub-thread.


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig
On Nov 27, 2012, at 4:22 PM, Ian Hickson i...@hixie.ch wrote:

 ARIA is used by very few authors, and those authors are, by and large, 
 much more competent than average. ARIA therefore tends to be used to a 
 much higher level of quality than most elements.

Yet this is part of the problem. One of the reasons most of the Web is not very 
accessible is because you have to be an expert in order to code an accessible 
site. Part of the goal of HTML 5 (and WebKit for that matter) should be to make 
it easy for authors to include accessibility support without having to think 
about it.

 [main] would probably be used about as well, maybe a little less well than 
 [article, header, aside] because the idea of what is main varies from 
 author to author (e.g. 
 in the sites you analysed on the WHATWG list, as well as in many that 
 others have mentioned before, id=main and id=content often include 
 things like some navigation, some headers, some sidebars, some footers).

This is valid, but if that's the worst case scenario, it's still exactly as 
good as the best-case scenario when there is no main element, so I don't 
really consider this to be much of an opposition. Besides, the scooby doo 
method could apply in those cases. If a main element contains article, 
header, aside or otherwise non-main content, browsers can it from what 
constitutes the main content.

More importantly, the main element gives us a node on which to hang the 
landmark AXSubrole: AXApplicationMain which enables landmark navigation in 
supporting screen readers like VoiceOver.

 The use case for e.g. header is mainly one of maintenance and styling: 
 lots of people style their headers very specifically. In general it 
 doesn't matter if one author marks his navigation as being part of his 
 header and another marks his navigation using nav; the result is the 
 same: they are clearly marked in the source, they can be styled, and they 
 can be skipped. If one author doesn't use it, or even if most authors use 
 it incorrectly, it doesn't mean that other authors can't use it.
 
 The use case for main is accessibility navigation.

It isn't true that the *only* use case is for accessibility. main is just as 
useful as a organizational maintenance and CSS styling hook as the header or 
nav elements.

 If authors use it 
 incorrectly, the feature *doesn't work*. The element becomes pointless. 

This is also not true. Whether or not the main element contained other 
non-main content, the end effect is more or less the same. Screen reader users 
using landmark navigation would jump to the beginning of the first piece of 
content in the main element. Nested landmarks work fine, too. I don't think 
this argument is valid.

 This is like the difference between a href= and img longdesc=.

Please don't dredge that one up. I'm a vocal opponent of @longdesc, but this is 
nothing like @longdesc.

 If many authors use 
 longdesc= incorrectly, however, it means users who try to use the 
 feature quickly stop expecting it to work and they give up and even pages 
 that use it correctly lose out. 

Regarding @longdesc, I agree, but relating this problem to main is FUD. Main 
is not some external content to be forgotten; it's just a tag surrounding the 
main contents of the page. Even if there are slightly differing views of what 
constitutes the main content, you still get mostly useful semantic, styling, 
and accessibility benefits from main

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig
Snipping somewhat for brevity…

On Nov 27, 2012, at 8:02 PM, Ian Hickson i...@hixie.ch wrote:

 Sites have been quite happily working with a skip past navigation 
 link

Happily? Begrudgingly? For what it's worth, landmark navigation should not be 
confused with skip nav links. Think of it more like a hierarchical 
navigation, similar to jumping by heading, but with more semantics and at a 
higher level.

 , and HTML has an explicit nav element that makes this more likely 
 to happen even for sites that don't provide a link, and ATs have all kinds 
 of page navigation tools for users that let them jump around looking for 
 whatever it is they want to read

Landmark navigation is now one of these tools, why prevent authors from 
explicitly using it for main content?

 (which isn't necessarily the main 
 content; e.g. on youtube.com you probably want the search box, not the 
 stream, in many cases).

That seems very subjective, and possibly off-topic.

 But secondly, how do you think main will do anything to make authors 
 aware of anything? To authors who hear about the element, it's just going 
 to be met with ah, a way to replace my id=main element ID with an 
 element instead, just like header and nav.

And if they do, that's fine, and we're still left with the main content via the 
scooby doo method.

main
  nav … /nav
  p first bit of main content /p
  footer … /footer
/main

…but if they get it right, heuristics get even better.

nav … /nav
main
  p first bit of main content /p
/main
footer … /footer

In either case, explicit landmark navigation to main could move the screen 
reader cursor to the first bit of main content…

Without a main element, this is ambiguous:

nav … /nav
p first bit of main content /p
p not main content /p
footer … /footer

Correct use clarifies the structure:

nav … /nav
mainp first bit of main content /p/main
p not of main content /p
footer … /footer

And incorrect use frequently turns out fine anyway, and does not negatively 
affect use on other pages:

main
  nav … /nav
  p first bit of main content /p
  p not main content /p !-- it might not be the main main content, but 
it doesn't make the feature useless as you've stated --
  footer … /footer/main
/main

As you've pointed out, incorrect use of @alt on one page does not prevent other 
pages from using @alt correctly. Likewise incorrect use of main would not 
prevent a user from using other navigation mechanisms on this page, and does 
not deter a user from using it on other pages, and in many case, incorrect use 
of main would still work as a reasonable landmark.

 And thirdly, since when are awareness campaigns appropriate ways to do 
 language design? We design to solve real problems, we try to make the 
 platform intuitive. We don't design the language to teach people. That's 
 the job of tutorials, advocacy, etc.

No argument here. main is pretty intuitive, and the penalty for 
misunderstanding its use is next to nothing.

 Note that if it's misused even as much as the other semantic elements, 
 that's enough to make it useless, unlike with those other elements.

Again, I don't follow your logic. Even misused, it's still just as good as the 
scooby doo method, and misuse does not make it useless.

 I think we need to let go of the idea that main will replace id=main 
 and id=content, because it's not the point of main.
 
 That's how authors will use it. That it's not the point of main is 
 *exactly* the reason main is a bad design.

That's how *some* authors *may* use it, but that's okay, even if they do.

 Ultimately, we always have the accessibility users as the testers for 
 this feature and they can register bugs where the main element is 
 leading to the wrong place.
 
 How well did that work for longdesc=?

Irrelevant. @longdesc isn't implemented well due to other significant design 
problems.

 Heck, how well did it work for alt=?

Pretty well actually. When a screen reader user hears an unlabeled button or 
image, they know exactly what is wrong, and what to report.

 Accessibility users complaining doesn't lead to sites getting fixed.

We fix user-reported accessibility complaints all the time. So does your 
company, and many others. There are scores of blog posts and podcasts from 
indie iOS app developers talking about how they'd never heard of accessibility 
until a few vocal users of their apps spoke up, and these developers were able 
to fix their bugs with minimal effort, thanks to the fact that they were made 
aware of the problem by their loyal customers.

 In conclusion:
 
 A. Authors don't test their pages in a way that would detect this feature.

Agreed, but they don't (and shouldn't) have to.

 B. Authors won't understand this feature.

Disagree, but the cost of misunderstanding is negligible.

 C. If this feature is misused to any significant extent by a subset of 
 authors, then the purpose of the feature is lost for all users on all 
 sites.

Disagree strongly, and I'd argue that you're 

Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig

On Nov 28, 2012, at 12:43 AM, Maciej Stachowiak m...@apple.com wrote:

 role=main can achieve this, but sectioning elements take care of the other 
 landmark roles, and it seems strange to have this be the odd one out. In my 
 own judgment, this outweighs risk of misuse.

I agree.

 On the other hand, this element does not add material functionality over what 
 section role=main or div role=main would do, so the benefit is fairly 
 small, compared to an element that does something authors couldn't do 
 otherwise.
 
 (2) The implementation cost is pretty low, so the main consideration is 
 whether this would benefit the Web.

The significant benefit here is that we'll get a lot more more authors using 
main correctly, than we ever will using div role=main and that's a win 
for the accessibility of the Web as a whole.

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig
On Nov 29, 2012, at 6:19 PM, James Robinson jam...@google.com wrote:

 This is an interesting standards debate but as many people have noted it does 
 not belong on the webkit-dev list, which is for coordinating the development 
 of WebKit. Please take this over to whatwg@ or some other appropriate 
 standards list.

I think it's valid to discuss here because this thread started as a request for 
comments on a patch. 

1. This patch is valid for consideration because there is already an extension 
specification for HTML 5 that was approved for publish by consensus of the HTML 
Accessibility Task Force.

2. My feedback to Steve was that I supported the addition but he should include 
a layout test.

3. The patch discussion, however, was derailed IMO by misinformation about 
assistive technologies and how they are used in conjunction with WebKit, so I 
wanted a chance to contradict the misinformation at its source.

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig

On Nov 29, 2012, at 6:33 PM, James Craig jcr...@apple.com wrote:

 On Nov 29, 2012, at 6:19 PM, James Robinson jam...@google.com wrote:
 
 This is an interesting standards debate but as many people have noted it 
 does not belong on the webkit-dev list, which is for coordinating the 
 development of WebKit. Please take this over to whatwg@ or some other 
 appropriate standards list.
 
 I think it's valid to discuss here because this thread started as a request 
 for comments on a patch. 
 
 1. This patch is valid for consideration because there is already an 
 extension specification for HTML 5 that was approved for publish by consensus 
 of the HTML Accessibility Task Force.

One minor correction. This extension specification was approved with no 
objections and ample support by the main HTML Working Group, not just by the 
task force.
http://lists.w3.org/Archives/Public/public-html/2012Nov/0232.html

Which I believe means inclusion of the patch should be accepted once it gets 
reviewer approval, no?


 2. My feedback to Steve was that I supported the addition but he should 
 include a layout test.
 
 3. The patch discussion, however, was derailed IMO by misinformation about 
 assistive technologies and how they are used in conjunction with WebKit, so I 
 wanted a chance to contradict the misinformation at its source.
 
 James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding main element to WebCore

2012-11-29 Thread James Craig
On Nov 29, 2012, at 7:10 PM, Ryosuke Niwa rn...@webkit.org wrote:

 I don't see a harm in waiting another couple of weeks or months until 
 standards discussion settles assuming that the main element doesn't become 
 the longdesc of the next decade.

Don't confuse the two. The argument over the @longdesc extension is not even 
close to unanimous even within the accessibility development circles. Major 
objections to @longdesc came from several of us working full-time on 
accessibility.

The main element, in contrast, appears to have near unanimous support amongst 
the accessibility development community, and is a 1:1 semantic match with 
role=main which is being used on many major websites. I think we'll see quick 
author adoption of main once this patch ships.

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] W3C Proposal: User Interface Independence for Accessible Rich Internet Applications

2010-11-10 Thread James Craig
On Nov 10, 2010, at 3:40 PM, Ojan Vafai wrote:

 Heh. There's clearly still a good deal of confusion about what the intended 
 behavior here is. Well, I'm confused anyways. :)
 
 On Fri, Nov 5, 2010 at 9:32 PM, James Craig jcr...@apple.com wrote:
 Ojan Vafai wrote:
 How is [ DOMAttributeChangeRequestEvent ] any different than 
 DOMAttrModified? The spec claims it doesn't have the problems that 
 DOMAttrModified has, but I don't see how that's the case.
 DOMAttrModified is a notification, but DOMAttributeChangeRequestEvent is a 
 request. The reason these all inherit from UIRequestEvent is because they 
 are all requests, not notifications. For example, the following sequences 
 may occur in a real user scenario.
 
 I think this is the core of my confusion. In some cases I get that these 
 events are requests. In this case, it's a request to change an attribute. But 
 there are other cases where it seems like they have a default action. For 
 example, when the user scrolls, we fire a UISrollRequest and if the web page 
 does nothing, then the page scrolls, right? And if they user hits the delete 
 key, we fire a DeleteRequest and delete if the web page doesn't cancel it. 
 But then the AT software can also fire a DeleteRequest that does nothing if 
 the web page doesn't cancel it?
 
 Am I misunderstanding? If the events are always requests with no default 
 action, calling these request events might make sense, but then it seems that 
 these would only be for AT software and should be named appropriately.

From another email to the list (On Nov 5, 2010, at 7:29 PM, James Craig wrote):

The primary need is for assistive technology, but there are several cases where 
this is appropriate in a mainstream user agent. For example, some mobile 
devices have a scroll to top feature if you click on the status bar chrome 
just outside the web content view. For web apps with custom scroll views (e.g. 
those that accept touchstart and touchend), it may be appropriate for the user 
agent to fire a single UIScrollRequest with a scrollType value of TOP_LIMIT.

http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html#UIScrollRequestEvent

 My first intuition is that we should not try to do AT specific events *if* we 
 can avoid it because web developers will largely ignore them, but I'd like to 
 understand the current proposal first.

I agree, but even if these were AT-specific events, I don't think we could 
avoid them. There is currently no good way for assistive technology to control 
a web application. The existing de facto approaches are a crappy workaround at 
best. That's what the problem description is about:

http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html#problem

 DOMAttrModified
 I took your dollar. By the way, my dad and granddad are probably gonna some 
 cash from you, too.
 
 DOMAttributeChangeRequestEvent
 Path 1: Can I have a dollar? No? Okay.
 Path 2: Can I have a dollar? Yes? Sweet.
 
 Heh. I see they these are different. DOMAttributeChangeRequestEvent is not 
 actually a notification that something changed or that something is about to 
 change?

Correct. It's up to the web application to make any requested changes. In this 
case, to hand out the cash… or not.

James

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] W3C Proposal: User Interface Independence for Accessible Rich Internet Applications

2010-11-02 Thread James Craig
On Nov 2, 2010, at 12:48 PM, Ojan Vafai wrote:

 On Oct 27, 2010, at 2:57 PM, James Craig wrote:
 James Craig responded:
 The main difference seems to be that our Undo and Redo *request* allows 
 the web application to determine what (if anything) should be undone, or 
 redone, where the HTML5 undo manager requires that the user agent make the 
 change directly to the DOM or editable content. The UIRequestEvent 
 interface allows the app to determine the outcome of the events based on 
 the business logic of the app, which the browser does not know about.
 I don't really understand how putting request in the name of the event is 
 useful. There are plenty of existing events that allows the app to determine 
 the outcome of the events based on the business logic of the app but aren't 
 request events.

The best explanation I have for it now is the following paragraph, or the intro 
section in the proposal. 

 The reason these are all called 'request' events is because they don't 
 change anything. They only send a 'request' to the web application (not to 
 the user agent) to make a change on the user's behalf. The web application 
 can then intercept or ignore the event as needed. If ignored (if the web 
 app hasn't registered that event listener, or if the event is not canceled 
 with preventDefault) then the user agent or assistive technology can fall 
 back to whatever behavior is deemed appropriate, including then using the 
 HTML5 undo manager.
 Back to Tony's email:
 Ojan also proposed renaming the textInput event to just beforeInput because 
 it seems like it can apply to more than just text (e.g., undo'ing the 
 insertion of an image).  Do you think the use of textInput/beforeInput 
 would meet the use cases needed by UIRequestEvent?
 In some cases, it may be appropriate, but my response to the previous 
 question may provide additional understanding of why textInput/beforeInput 
 is not sufficient, and why these two proposals are not mutually exclusive, 
 even if they do overlap in some places.
 
 I still don't see why beforeInput would not be sufficient. It might be more 
 clear if you enumerated the list of things you expect to have UIRequestEvents 
 for.

There are several examples in the proposal, including: 

Users, wanting to change the value of a custom range widget (ARIA slider, ARIA 
media progressbar, etc.) in a web application, can indicate their intent a 
number of ways, including pressing various keys (up, down, left, right, pageup, 
pagedown, home, end) on most keyboard-controlled interfaces, and through 
gestures on many touch-enabled interfaces. User agents understanding this 
intent should initiate a ValueChangeRequest event. Web authors who have 
registered for this event, should process the event to determine whether to 
cancel the event. If the value change action is understood in the context of 
the web application, web authors should change the value of the associated 
widget by an amount determined via the changeType argument, and cancel the 
event using the event object's ---() method. If the event is not cancelled by 
the web author, user agents may pass the literal interaction event to the web 
application; in this case, in the form of a keypress event.

We plan to include more examples in a later draft.

 As I stated in the bug tracker comments, the W3C DOM and PF working groups 
 discussed this, and the outcome was to work on a standalone specification as 
 a joint effort of the two groups. The initial document editors will likely 
 be Doug Schepers (W3C staff contact for www-dom) and me. From the 
 teleconference discussions, these will be an add-on to DOM 3 Events and/or 
 ARIA 1.0, because both of those documents are currently in Last Call. The 
 only major change to the proposal so far that we're discussing a new method 
 to the Event object (perhaps 'suppressEvents' or 'suppressRelatedEvents') so 
 that we don't have to cancel the event by overloading the original use of 
 the preventDefault method.
 What's the difference between preventDefault and suppressEvents?

preventDefault only prevents the default action of the current event. 
supressEvents would allow the author to inform the user agent that any 
remaining events for the same user interaction are no longer relevant. For 
example, if the user pressed either Delete key and the application intercepted 
the DeleteRequest event, it could call Event.suppressEvents() (or whatever we 
call it) to indicate that the related events (keydown, keyup, keypress) are no 
longer needed, and the user agent should not fire them.

 Also, earlier in this thread, you said that you don't know of anything that 
 requires these events to be synchronous, but that seems to contradict James's 
 point above and the patch in question fires the events synchronously. The 
 spec text all also implies that the event fires, then application has the 
 chance to prevent it and then the action happens. So, unless I'm misreading, 
 the events

Re: [webkit-dev] W3C Proposal: User Interface Independence for Accessible Rich Internet Applications

2010-10-27 Thread James Craig
Sorry for the delayed response, Tony. My answers inline.

On Sep 3, 2010, at 9:35 AM, Tony Chang wrote:

 I'm curious what elements the UIRequestEvents apply to.  Does it fire at the 
 document level or does it fire for specific elements like textareas?

Focused element (or AX-focused element) where appropriate. Document body 
otherwise.

For example, the scroll request events should be fired on the focused node so 
they can bubble up the DOM tree, so any node that needs to intercept it can. An 
example of when this may be inappropriate to fire on a lower-level node DOM is 
in the case of a browsing context that does not have a focus model where 
something always has focus; e.g. many touch-screen mobile devices do not have a 
focused element unless a form element is selected, or an assistive technology 
application is running on top of the rendering engine. In this case, firing at 
the document level would be appropriate.

 The addition of undo/redo is similar to the proposal to add this to the 
 textInput event.  There was some discussion of that here:
 http://lists.w3.org/Archives/Public/www-dom/2010AprJun/0082.html

This may be answered my response to Doug Schepers' related question in this 
email from the www-dom list.
http://lists.w3.org/Archives/Public/www-dom/2010OctDec/0051.html

Quoting from that thread:

Doug Schepers wrote:
 Note also that HTML5 defines editing actions and APIs [6], specifically the 
 UndoManager interface [7].

 [7] http://www.w3.org/TR/html5/dnd.html#undomanager

James Craig responded:
 The main difference seems to be that our Undo and Redo *request* allows the 
 web application to determine what (if anything) should be undone, or redone, 
 where the HTML5 undo manager requires that the user agent make the change 
 directly to the DOM or editable content. The UIRequestEvent interface allows 
 the app to determine the outcome of the events based on the business logic 
 of the app, which the browser does not know about.

 
 The reason these are all called 'request' events is because they don't 
 change anything. They only send a 'request' to the web application (not to 
 the user agent) to make a change on the user's behalf. The web application 
 can then intercept or ignore the event as needed. If ignored (if the web app 
 hasn't registered that event listener, or if the event is not canceled with 
 preventDefault) then the user agent or assistive technology can fall back to 
 whatever behavior is deemed appropriate, including then using the HTML5 undo 
 manager.


Back to Tony's email:

 Ojan also proposed renaming the textInput event to just beforeInput because 
 it seems like it can apply to more than just text (e.g., undo'ing the 
 insertion of an image).  Do you think the use of textInput/beforeInput would 
 meet the use cases needed by UIRequestEvent?

In some cases, it may be appropriate, but my response to the previous question 
may provide additional understanding of why textInput/beforeInput is not 
sufficient, and why these two proposals are not mutually exclusive, even if 
they do overlap in some places.

As I stated in the bug tracker comments, the W3C DOM and PF working groups 
discussed this, and the outcome was to work on a standalone specification as a 
joint effort of the two groups. The initial document editors will likely be 
Doug Schepers (W3C staff contact for www-dom) and me. From the teleconference 
discussions, these will be an add-on to DOM 3 Events and/or ARIA 1.0, because 
both of those documents are currently in Last Call. The only major change to 
the proposal so far that we're discussing a new method to the Event object 
(perhaps 'suppressEvents' or 'suppressRelatedEvents') so that we don't have to 
cancel the event by overloading the original use of the preventDefault method.

Thanks for your questions. We realize the proposal may not be clear unless the 
reader knows a lot about 1) screen readers and 2) WAI-ARIA, but we hope to 
improve the understandability of the document in future iterations.

Cheers,
James Craig

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] W3C Proposal: User Interface Independence for Accessible Rich Internet Applications

2010-09-03 Thread James Craig
On Sep 3, 2010, at 12:13 PM, Adam Barth wrote:

 Sorry for not reading the document in detail, but are these events
 fired synchronously or asynchronously?

Since it's all client-side communication between the web app and local user 
agent, I don't have a preference. Chris may. Do you? 

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] W3C Proposal: User Interface Independence for Accessible Rich Internet Applications

2010-09-03 Thread James Craig
On Sep 3, 2010, at 5:25 AM, Mike Marchywka wrote:

 Certainly an ability to zoom text is well known, but a text to
 speech facility or re-rendering from web author's original
 intent ( text to audio conversion) could be of general interest.
 
 [ I guess this also motivates another general rant I have on
 structured data documents versus display formats like PDF which
 may be larger while being less adaptable due to loss of information
 ( removing text to send bitmapped characters for example, former could 
 reasonably by converted to audio with a reader technology but not the 
 latter).]

Did you see the TBD Speech Interface at the end of the document? We knew speech 
would have a lot of potential in the AT and mainstream market, but we focused 
on AT for vision impairments (screenreader and magnifier interfaces) for the 
initial proposal. 

http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html#identification
4. Assistive Technology Identification and Notification

…
Interface Speech

The speech attribute of the Accessibility interface must return an instance of 
the Speech interface:

interface Speech {
  // TBD, placeholder for speech-controlled user agents or assistive technology
  // may need speech.synthesis and speech.recognition; each could have 
name/version/engine, etc. 
  // potential method: speech.synthesis.speak() to trigger TTS from web app
  // potential method: speech.recognition.updateDictionary() to capture correct 
pronunciation of uncommon or app-specific words
};

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev