19:19:36 RRSAgent has joined #html-wg2
19:19:36 logging to http://www.w3.org/2009/11/05-html-wg2-irc
19:19:40 Zakim has joined #html-wg2
19:19:56 RRSAgent, make logs public
19:23:24 like label on command
19:28:36 hober has joined #html-wg2
19:29:46 grosmai has joined #html-wg2
19:30:45 prolix has joined #html-wg2
19:42:41 contentinfo is broader than
19:43:12 there isn't a 1-to-1 mapping between in HTML5 and contentinfo in ARIA
19:44:18 prolix: should comment on #aapi instead
20:41:15 mjs has joined #html-wg2
20:41:19 cardona507 has joined #html-wg2
20:59:44 shelleyp has joined #html-wg2
21:37:38 myakura has joined #html-wg2
21:39:58 Zakim has left #html-wg2
21:42:01 MikeSmith has changed the topic to: canvas accessibility discussion is on #aapi
21:49:51 Lachy has joined #html-wg2
21:51:58 cardona507 has joined #html-wg2
21:55:41 Lachy has joined #html-wg2
21:59:35 Eliot_Graff has joined #html-wg2
22:00:11 Lachy has joined #html-wg2
22:00:18 prolix has joined #html-wg2
22:03:01 cyns has joined #html-wg2
22:03:04 wendy has joined #html-wg2
22:03:24 Zakim has joined #html-wg2
22:03:32 SCain has joined #html-wg2
22:03:54 MichaelC has joined #html-wg2
22:04:05 JF has joined #html-wg2
22:04:19 frankolivier has joined #html-wg2
22:04:22 wendy has changed the topic to: Canvas accessibility
22:04:25 glenn has joined #html-wg2
22:05:36 fo: 3 types of canvas accessibility: decorative, informative, interactive
22:05:43 (frank olivier)
22:06:38 prolix--yes, i can do that
22:07:21 i'm wendychisholm at skype.
22:09:22 mjs has joined #html-wg2
22:10:00 ...if we created dom underneath, overload "fallback text."
22:10:18 rrsagent, do not start a new log
22:10:25 ...that works for decorative and informative (in case of table with data), but there are cases where you want fallback text, but also want better text.
22:10:46 ...want to see the table as well as the canvas. a way to know there is accessibility info within canvas.
22:11:04 ?? is it nested like object?
22:11:12 cs if you can render the content, it won't render the fallback.
22:11:31 ... if you need the accessibility information but your browser supports the primary content, you can't get to it.
22:11:36 ... part of the solution is better browsers.
22:11:51 RRSAgent, this meeting spans midnight
22:11:54 fo: could show both. or let the user choose.
22:12:03 that's what the noframes content in the web IRC interface says - "you need a browser that supports frames and javascipt. full stop'
22:12:24 fo: dom underneath allows you to park it under the element and not create another dom.
22:12:50 cs said something bout aria...
22:12:58 ... labelledby
22:13:40 cs: informative canvas--have something like aria-describedby that has some sort of text that is a sufficient equivlalent.
22:14:14 fallback could be an ARIA-enabled widget or tree graph
22:14:27 fo: 2 layers of informative canvas. 1 is a simple text equivalent/fallback works. 2 more complex (a graph of data) with data table as fallback.
22:14:30 the "family tree" example
22:14:43 fo: informative contains data that is read-only. interactive can contain data the user can modify.
22:15:14 weinig has joined #html-wg2
22:16:04 ?? aria could be processes separately.
22:16:23 fo: there are accessibility tools that will read that information.
22:16:38 sf: are there any at that access it?
22:16:47 fo: fangs reads everything from the canvas.
22:16:59 ... I think nvda does it. (unsure)
22:17:12 ... not a big problem to update at software to look underneath the canvas.
22:17:20 ... how do you know it's fallback and not alternative representation.
22:17:33 sf: question about the spec (missed)
22:18:12 fo: couple weeks ago a comment that elements under canvas should be tabbable. talks about color picker.
22:18:19 ... could tab into form elements behind to change color values.
22:18:27 sf: what about non-at user who wants to use the keyboard?
22:18:49 fo: if someone wants to recreate the ui controls using canvas (more stylish looking controls), i cant use os theming on them.
22:19:01 ... would have to handle focus highlights.
22:19:08 cs: could a browser fix that?
22:19:18 ... flash accesses that.
22:19:44 fo: if you have a high contrast mode on your computer, there are ways to do it (to go into that mode).
22:19:49 http://esw.w3.org/topic/HTML/AddedElementCanvas
22:19:51 cs: ie messes with css.
22:19:58 fo: overwrite the stylesheet.
22:20:06 cs: high contrast mode turns off a lot of css.
22:20:28 fo: could give canvas access to that. a color mode in canvas--a background ui control color you can specifiy.
22:20:34 cs: available to you as a windows app.
22:20:40 fo: solved in the css color module.
22:20:46 (should be solved....)
22:20:53 adrianba has joined #html-wg2
22:20:59 anything on that page in particular greg that you want me to highlight?
22:21:05 high contrast equals what - the opposite of the rgb values used or user client-side preferences?
22:21:07 cs: access to the operating system focus.
22:21:28 ... in windows when you tab into a text box it's the same focus that you get when tab into a windows dialog.
22:21:56 ?? description of how apple does this?
22:22:12 cs: it's not based on the operating system.
22:22:27 ... there are ATs that will change how things look. done at the OS level. would be nice to support.
22:22:34 sf: to be considred ccessible, need to provide that.
22:22:40 ?? want access to the themeing api.
22:22:49 .. describes the set of intrinsics.
22:23:13 ... everyone has them. lowering those to the browser is a huge undertaking.
22:23:20 cs: as an author, not asking to have access to that.
22:23:33 .. if i put focus on an element in canvas, i want the same behavior that happens in html.
22:23:39 some users will want the canvas, but need to be guided through it (users of supplemental speech, for example, for those with cognative processing issues)
22:23:43 ... so if user sets, then the system variable are honored.
22:24:10 or those with a limited point-of-regard
22:24:21 scribe: wendy, scribe
22:24:29 sf: proiding programaitc focus
22:24:33 eep.
22:24:39 sf: providing programmatic focus
22:24:56 cs: works on most elements, but not on canvas.
22:25:09 ?? canvas is just a bitmap. not providing a form element but something that looks like a form element.
22:25:19 cs: they have made it accessible by using msaa.
22:25:25 ?? msaa or theming apis?
22:25:28 cs: not sure
22:25:34 sf: programmatically focusable areas.
22:25:52 fo: you could have a canvas context method, draw focus rectangle tha tuses the os theming to draw a rectangle on the canvas.
22:26:02 CSS user preferences need to be supported
22:26:10 ... canvas with 10 ui elements and you want to tab between then, author would have to make the keyboard tabbing.
22:26:22 cs: that combined with aria markup should be most of what is necessary.
22:26:42 fo: creating hidden ui controls underneath, need a system focus rectangle and using aria to expose properties and behaviors to ATs.
22:26:53 ... only using canvas to style from scratch your ui controls.
22:27:06 ... not limited to only one ui control per canvas, but can have several.
22:27:26 ?? seems like it's a hole tha tyou keep digging--how many apis do you add to the context?
22:27:45 ... if just drawing focus rings, but if there are other aspects of ui decisions that theme will change, then you will need to expose a huge set of things.
22:27:51 ... in some sense, css is trying to solve.
22:28:07 fo: i don't think we can get to the point, where you use the system ui colors.
22:28:28 ?? css color module defines a few hard coded names that map to windows concept, that will change as you change the themes.
22:28:32 ... may be deprecated.
22:28:38 cs: that was the design goal of those.
22:28:53 s/??/sw
22:28:56 (sw from apple)
22:29:03 fo: creating a mini dom makes sense.
22:29:17 ...the only new method is a way to draw focus rectangle.
22:29:33 sf: it's a common use case to draw a focus ring, but also want to define an interactive area.
22:29:41 ... if it comes with focus--that's default.
22:29:46 ... then they dont have to worry about addng that.
22:29:54 cs: that ui works like the other uis the user is used to.
22:30:04 fo: also discussion of something like a click map.
22:30:15 ... if i have 10 user controls, i can set up 10 clickable areas and can get an event and handle it.
22:30:22 cs: support ismap? use the same image map?
22:30:27 fo: think that goes a little too far.
22:30:36 ... think the author can handle the events.
22:30:44 cs: can an image source point to a canvas?
22:30:48 ... create an overlay?
22:30:54 fo: yes, could create an overlay.
22:31:14 cs: interactive canvas--ui contorl is the tricky one.
22:31:52 cs: difficult to come up with a paradigm that makes sense--that works as canvas does now but works with how html was/is going.
22:32:01 ... does dom under canvas seem natural?
22:32:09 fo: shows demo
22:32:50 "The CSS2 System Color values have been deprecated in favor of the CSS3 UI 'appearance' property for specifying the complete look of user interface related elements" (http://dev.w3.org/csswg/css3-color/#css-system)
22:32:52 ... three day weather forecast.
22:33:25 ... "click here to switch to degrees F" 3 suns each with temp in the middle (in Celsius).
22:33:50 ... if you just draw pixels into the canvas, you won't get any information for the canvas.
22:33:58 so it needs live regions and accessible controls...
22:34:00 ... what i've done is create a tiny dom underneath.
22:34:41 ... fangs is a screen reader simulator
22:35:27 ... looking at that to see what it's giving for this page.
22:36:13 ... s/this page/this canvas
22:36:26 cs: what's the diff between what you've done there and having fallback html w/in canvas tag?
22:36:35 fo: could add a text box and interactive elements.
22:36:53 ... more example of an informative than interactive.
22:37:02 ... james craig did a demo with checkbox within canvas.
22:37:17 sw: makes text accessible to AT but invisible to the screen?
22:37:32 fo: take the fallback context, erase it, add in a new dom under the canvas, that has interactive elements.
22:37:40 cs: kept the interaction in sync?
22:37:48 fo: yes, james draws a focus rectangle himself.
22:37:58 cs: he was toggling the visible check and the hidden.
22:38:05 sw: what changes needed in html5 to support this?
22:38:23 fo: mini-dom: nothing really. it's the canvas subtree.
22:38:40 cs: canvas subtree and interaction between canvas and other elements managed?
22:38:49 jf: james demo uses javascript.
22:38:56 sw: any sync would need to be done by the script.
22:39:03 fo: he was supporting events, drawing focus.
22:39:17 cs: this approach does meet the minimum bar of accessibility--it's possible to make an accessible product.
22:39:26 ... however, is not easy, intuitive, such that developers would do it.
22:39:38 sw: argue that javascript to write checkbox and handle events not intuitive either.
22:39:53 ?? someone is obviously writing it for the rest of the UI.
22:40:01 sf: doubling the work?
22:40:18 cs: seems like keeping it synchronized would be hard.
22:41:49 could CANVAS support an "order" attribute? order="targetID,targetID2,targetID3" or order="targetRole, targetRole1, targetRole2"
22:43:03 that's the SVG adition to the XHTML Access Module (http://www.w3.org/TR/xhtml-access/)
22:43:15 discussion about how much work are developers going to do to add accessibility to custom controls.
22:43:33 fo: argues that if it's 8 days work to create their own custom contorls, 2 days work is no big deal.
22:43:48 accessibility folks say, "we've heard that before and unfortunately, that will take a lot of education to get people to do that."
22:44:07 fo: counters, most people will not create uis from canvas from scratch, they will use libraries and the libraries will be accessible.
22:44:12 wc: they better be!
22:44:24 fo: no matter what we do, people will have to do additional work to make canvas accessible.
22:44:33 ... currently, it's an additional few lines of code.
22:44:43 ... perhaps give them an api that will make it 1 line of code instead of 4.
22:45:02 testify, sister, testify!!!
22:45:49 discussion about alt and that isn't even used.
22:46:13 fo: but you are asking for a technological solution. i'm giving you that.
22:46:23 ... otherwise, you are asking for the impossible.
22:46:44 cs: designing the api is part of the api and not some tacked-on thing.
22:46:51 ... not an unpleasant task for devs.
22:46:57 mm: wish list
22:47:24 keyboard support, device independent event triggering, for a start
22:47:27 mm: wish-list++ add accessibility info out-of-band--you have a toolkit that doesn't suport accessibility. be able to add info, map to html controls, etc.
22:47:38 sw: we have a good solution.
22:47:56 ... if you inherit an app, you already know which elements you will need to shadow.
22:48:06 ... if it's well-factored, it can create the button in the subtree.
22:48:06 can you use XBL on CANVAS?
22:48:17 ... if you have a routein to focus a button ont he canvas, has it on the subtree.
22:48:35 cs: not saying not workable, thinking about how to make it more adoptable.
22:48:43 sw: well-factored, yes.
22:48:52 ... it's a drawing api. could make it oo but it's drawing.
22:49:06 fo: there is not perfect solution. lots of solutions that all have sub-optimal outcomes.
22:49:16 ... what we have currently is a good road. will people drive on that road? don't know.
22:49:19 converge on and learn from lessons of SVG
22:49:31 ... made it as easy as possible. but shouldnt put too much of a burden on ppl.
22:49:40 ... compared to what ppl doing today, should be ok.
22:49:41 Laura has joined #html-wg2
22:50:00 cs: it would be nice in the future, perhaps in html5 timeframe, to have access to accessibilty apis from javascript.
22:50:15 ... for something like canvas, be able to say "this box is a button."
22:50:33 .. understand harder. if we go with a dom approach, that the other possibility is not locked out for a future version.
22:50:51 fo: interesting way to do that is to tag the canvas element with a property that says, "accessibility provided by method x."
22:51:31 ... think there are lots of ways you can go.
22:51:37 +1 on the point about having accessibility apis from javascript
22:52:10 fo: shows the dom of the demo
22:54:37 adrianba, this is one reason why i'm going to suggest canvas implementation via script libraries if the Rich Web Application Incubator Group's final report's recommendation that a working group be established to continue to investigate the area is formed (http://www.w3.org/2005/Incubator/app-backplane/XGR-app-backplane-20091030/)
22:55:43 could use the SVG order attribute model referenced above
22:59:26 aria-role="button"
23:00:05 discussion about how to synchronize the shadow canvas with the html elements so that someone who is sighted and using the keyboard can operate the controls in the canvas.
23:00:21 cs: describes counter proposal.
23:00:43 talking about marking coordinates with roles.
23:01:10 ?? need to be able to do all of the things we do with the dom.
23:01:36 cs: counter proposal is to 1. direct api access 2. is there a way to make it so that it's possible to use the html elements but have them look as spiffy as theyw ant.
23:01:46 sw: in webkit you can take a button and make it look however you want.
23:01:52 ... there are extensions to css.
23:02:05 .. or you can make a div, draw anything you want into it and add an aria attribute.
23:02:14 ... canvas is for ppl who say, we want to draw other things differently.
23:02:26 cs: my concern ppl taking that jump too easily.
23:02:50 ?? is it likely that we're going to add features to html that will satisfy those same people?
23:04:04 ?? css will never help someone wh ocan do a better tetx editor.
23:04:14 cs: riht.
23:04:18 s/riht/right
23:04:42 amen
23:04:47 ?? we need a solution lets someone who wants to do that much work nd also wants to make their work accessible, we should let them do that.
23:04:55 cs: yes, make it possible and as pleasant as possible.
23:04:58 ?? as implementable
23:05:12 cs: making it so that there are fewer cases where ppl need to do that to get their artistic expression.
23:06:46 mm: the technology will be used in ways no one in this room has thought of.
23:07:06 something EXTENSIBLE
23:07:06 ... my big concern is that the solution we have will account for as many of those eventualities as possible.
23:07:29 fo: anything you can do with dom, you can do within canvas.
23:08:24 sc: let's mke sure that we've covered everything.
23:08:28 cs: hgh contrast, yes.
23:08:37 sc: options w/in browser--zoom, etc.
23:08:46 cs: pixel zooming should work.
23:08:48 font size an issue?
23:08:51 "The CSS2 System Color values have been deprecated in favor of the CSS3 UI 'appearance' property for specifying the complete look of user interface related elements" (http://dev.w3.org/csswg/css3-color/#css-system)
23:09:02 sc: so we've covered keyboard access, screen readers, etc.
23:10:58 cs: does canvas spec need to talk about browser and os settings.
23:11:15 fo: could be at least one paragraph in the spec.
23:12:21 q+ is the canvas subtree is similar to an iframe subtree? is it a separate document or part of the top level document?
23:12:31 q+ to ask is the canvas subtree is similar to an iframe subtree? is it a separate document or part of the top level document?
23:13:00 js: we suggest to ua wg that these are on the horizon.
23:13:17 fo: we've covered the major use cases of canvas.
23:13:24 ... everyone seems to be ok to use a dom.
23:14:48