. So for ATs that support this it means they can quickly navigate through. Also, generally, the information is announced so when they enter a particular area of the page, information announced to them, it is a Landmark and what the role is. So they get a sense of the spatial structure of a page, or the content structure.
If you are an early adopter as some people are and you are starting to mark up your page using HTML 5 elements, you can also use the Landmark roles with these as well. I have got an example here with a header and a footer and there is no actual main - there is no similar structural element as the main landmark role in HTML 5. There is talk about providing an element that is similar. You can use it now with old Code, you can use it with new Code.
Moving on to other potential features of HTML 5 and one of them is HTML 5 form controls. There are loads of new form controls. Currently there is a plethora of Java script libraries that provide you with different types of widgets to add to your page, a lot of these widgets are similar or the same as widgets we find on the desktop, the sort of controls we find on desktops but don't actually have currently in HTML, are not currently natively available. Currently in HTML you have quite a small widget set: a control set, text boxes, a drop down list, a check box, radio buttons etcetera, but quite a small list. So what HTML 5 will do is provide you will a much larger set of widgets. HTML elements. So you don't have to go to the trouble of using Java script and using divs and spans and out the HTML elements to create something that looks like the control. There is a data list, a text box with the drop down suggestion list. So as you type in you get the suggestions. That is a simple text box with some option element reconcile with the data list. It is only implemented currently in Opera 9.5+. There is keyboard accessibility for this widget, but the roles and states and information about the widget isn't actually exposed to AT as yet. So, when a user using AT encounters this they will get told if it is a text box but they won't know there is any other information there.
More potential HTML controls. This is called input type number and it is like a spin button, and again, it’s something that’s natively implemented. We have all seen these sort of things but it is only in Opera 9.5, it has keyboard accessibility so you can, once the input box has focused you can use the up and down arrow keys but it is not exposed to AT, so any AT user will not be able to understand how to use it or interact with it.
One last one, I think it is the last one, there may be another. It is HTML 5, the input type date, which is essentially a pop-up date picker. So again, so instead of having, and this is quite complex control, instead of having to write all the code and the Java script to have that displayed on the page and be able to interact with it, it is a matter of putting an attribute on an input element to say its type date. Again implemented in Opera 9.5, currently it does have some keyboard accessibility, but is not usable with a keyboard and not exposed to AT.
This is the last one. Input type range, a slider. We have all seen them and use them on many of these web 2.0 interface types and also within the desktop. It is implement in Opera and Safari. That is why I say these things have potential, but due to their limited browser support and also because as far as accessibility is concerned they have problems, today have issues with keyboard support and they are essentially meaningless elements as far as AT are concerned, it is not something we can use today.
On the other hand, we have many of the JavaScript available, such as the Gojo, google web toolkit, BBC glow library, there is quite a few libraries out there that have good keyboard support for some or many of their widgets and also are enabled so what this enablement means is that when a user with assistive technology encounters this widget they will get told correctly what the widget is and how to interact with it and it values, if you are using a slider and sliding the thing up and down, the changes in values will be conveyed to the user.
Another example of new features on HTML 5 is a pretty simple one. It is the required attribute. In HTML 5 you can put a required attribute on the control and that is an indication that the input is required, and through the user interface you can have, it can be, if the user doesn't put input in there then you can use the required attribute to provide a visual indication of this need to put information in there.
Again, it is not processed to AT but Aria has, Aria has a required attribute which does exactly the same thing and if you for example put that on an input, when a user focuses on that input on that text box then it will the user will be told that it is a required input so, if you are you sing fire fox 3 and an AT that supports Aria, you will get that information. Moving to HTML 5 audio and video, this is not something I knew a huge amount about I followed the discussion on it but it is something that is one of the things that is being counted within HTML 5 as, I don't know if Matt is here, as a Flash killer because it provides the possibility to have embedded audio and video with controls without of any plug ins. There is still a lot of to ing and fro ing about it because its acceptance will depend upon if someone implements it. But some of the related issues are whether the roles are accessible or not and captioning and annotations and fall back are available. There is a quote from someone who has been working on the accessibility of HTML 5 audio and video in relation to captions and audio annotations and the like, and she says (as main screen). So the state of the situation is that it is built in captioning and audio a notation is not going to be a feature within this current round, but that was what supposedly decided by one group that there is movement and development that it could well being HTML 5, but we will wait and see.
I want to show you an example of the HTML 5 video... You won't be able to hear the sound. So, we have got an embedded video here and it has in built controls which you can activate with mouse... and you can move along the time line, you can increase and decrease the sound. One of the feature s of this, of the fire fox currently implemented is that you can, the video and the audio tags are objects you can get to with a keyboard but you don't get to see the actual controls. You can use them with keyboard, so I can use the space bar to stop and start and I can move along the time line using the arrow keys, and I can increase using these keys but you don't actually get, you don't interact with any control s as such. They just keystrokes associated with the video.
One of the people involved on the accessibility side is a guy called David Bolter and he recently wrote an article asking people for feedback in regard to do they think this is a good enough solution? Do they think it is good enough that you can have some intuitive keystrokes associated with it but you can't actually interact with the controls of the video as in "Here is a volume control, " You get told it is a volume control and you interact with it in that way. And also for sighted users that use the keyboard is it good enough that you can't actually invoke the native controls? I must point out also that just because you can't invoke the native controls, you can have controls provided by scripting so you can have buttons but you have to have the buttons and add them as control s in HTML. There were earlier talks about this. Alison has been involved with Christian and You Tube and my gut reaction to not having natively accessible, visually accessible and accessible as in the controls that can be understood by assistive technologies is that I don't like it, but because even though the keystrokes are intuitive you have to remember them and there is the issue of discoverability about you have to remember what the keystrokes are and find out how to get the keystrokes. So if anyone in the audience has any information or feedback on that, David Bolter recently wrote a block post asking people what do they think of these controls, so the links at the end of the slides which will be available toe please get involved.
One of the other things about the audio video elements is that they are closed elements, they have a start and an in tag and you can put the information inside, such as you can put content and links inside it, that fall in supporting browsers it is not displayed, but in non supporting browsers it is.
Problem with that is if you do things and I just found this code somewhere on the web but inside the video source it has a link to a transcript, but that link to the transcript is only available if you don't have a supporting browser, which is sort of silly. If you want users to access the content, don't put it inside the video with the audio element's make it available outside elements. I just got these highlighted in red (as screen). I wish that they would say something else other than that because it is really annoying to come to a page and get told that... I was looking at an HTML 5 canvas element example, and I do use other browsers but I use IE a lot, and basically it told me that I was an idiot because I didn't have a canvas, one of the modern browsers that canvas enabled. I understand the sentiment but I don't like being told I'm an idiot.
Potential, more potential shit fight. It is called shit fight because I personally had debates or discussion with the editor of the HTML 5 specification in regards to the accessibility of the canvas element. What canvas is like an animation tag, you can create animations and anything inside the canvas element but it is an image so if you have text inside it, the text is not readable, you need to provide fall back context for that text which in itself is not a problem, if for example you are using the canvas and you have animated text and you have the fall back context of that text is playing text, that is no problem. Where the problem does occur is where the canvas element is used for more complex things, such as what we are seeing emerging now, things like there is a text editor which is essentially a code editor that you can, well the whole interface is the canvas element so you have, you can type things in, it has what looks like a cursor in there, it has drop down lists, and all of tease things are in the canvas element and as far as things are concerned there is no way to get that information out about the fact that you have got a drop down list or you are selecting something or that there is all this text in there and you have a text carrot position and all those things. It is a big bag of bits and the only way to make something like that accessible is to create a duplicate of the whole thing in HTML. Moving back to 1999, you create whatever you are creating using the canvas element and then you have to create a whole lot of other things you have to create for accessibility.
One of the things that people within the HTML 5 community always push when we are talking about accessibilities, we have to have accessibly built in. Bolt on accessory doesn't work so when it comes to the canvas element, that is exactly what prop pition is. And even though I don't have enough technical understanding of the application in the place that underlies canvas I have been fighting to actually have some sort of extra information added to the API so you can actually provide some sort of text information via the canvas API. And luckily I have got some people who actually know what they are talking about involved as well, so that is a development that is currently occurring. So watch this space as far as canvas is concerned.
It is a black hole. This picture, I tried to look for a black hole but then I saw the picture, well it is a picture of a black hole but it is to do with the movie called the black hall which came out just after Star Wars and it was it was a Disney thing and it was like a 1950s B grade sci fi moving and I was so disappointed seeing it, so I just remembered it, but just like with the audio and the video, stuff that goes, content that you put inside the canvas element on browsers that support canvas you can't access. Essentially you can provide a fallback but fallback can't be accessed by anyone, so... Come on...
NEW SPEAKER: A lot of what people do is to generate canvas element and generate all the content inside the canvas, so nothing stops them from creating text in there as well. Canvas is not written by hand.... [inaudible].
NEW SPEAKER: You can write it out, yes, but don't put it inside the canvas element because it is not available. People do. I have seen it.
And the current advice within the HTML 5 specification is this content may replace the content of the canvas element. So the advice is put it in there if you want but this is bad advice, don't do hit make fall back available outside the canvas element. This may change in implementations but currently you can put stuff in there and I will give you a perfect example. This is an issues graph that is developed in using the HTML 5 canvas. It shows E mails and issues and bugs against the HTML 5 specification and overtime the emails that are being processed are going down and the issue s are going down and the bugs are actually going up. Now, for sighted users we can see that information, that is great. This graph is by, was developed by the editors of the HTML 5 specification ha good friend of mine, Ian Hickson, and through a discussion about would be better, what is a better advice about or what is a better fall back for canvas than what is currently available, he asked me rather insincerely, how would I provide fallback for this. As I said to him, well you provide fallback as probably the best way would be to provide a HTML data table, because it is essentially data, it is a representation. So that's what he did. So we have a canvas element and a table with the data inside. It is providing tabular format but nobody using canvas element can access it - I did point this out to the guy but he ignored me so .... don't do that. If you want to make the information available there is a good plug in thing done by a group called the filament group, it is providing - you have HTML tables that are displayed and then you can provide graphs, charts and things of that same data in canvas.
So that is an example where it is actually made accessible. So anyway, for people using HTML canvas supporting browsers - opera, safari, what is the other one - safari, Firefox, Google chrome support canvas, so there is no way you an get the information. I thought I will fallback to the good old Internet Explorer to see if I can see it but unfortunately that is all I got this page. It is not even available on Internet Explorer. So if you provide canvas and want to provide an accessible alternative, don't put it inside the canvas, please.
Another potential available in HTML 5, drag and drop API, but native keyboard support isn't mentioned in HTML 5. There are similarities between the attributes and the properties that are provided in the HTML 5 drag and drop and the ARIA implementation or the ARIA specification talks about drag and drop, except one crucial thing is that they are not providing information about the (inaudible) being dragged, problematic for users of assistive technologies. ARIA drag and drop has limited support in Java and - Keith Watson is here today who will be looking at drag and drop support in Jaws and NVDA, or at least Jaws and it has just been added and it is pretty flaky, as far as I can tell. So still work to be done there.
As far as the HTML 5 drag and drop there was a big rant by a guy, Peter Cop???, saying basically 'it is a piece of crap' - yesterday I was reading that. So maybe room there for improvement and for the whole API and along the way make it more accessible.
So as far as one of the things about the ARIA specification and HTML 5 is the talk about integration, integration to the extent that there will be conformance advice about how ARIA can be used in conjunction with HTML 5. That integration has started. It makes it conforming so you can make ARIA, the use of ARIA attributes conforming in HTML 5 because, I was speaking to Antonia earlier, she was talking about validity concerns, using HTML validator you get warnings.
ARIA is a separate speck, it is not dependent but they can be used together. Anyway it doesn't really matter, because validation checking is available and support in ARIA for HTML is good. ARIA even though not fully integrated, it validates HTML 5 so validate, validate.MU, HTML 5 and also WC 3 validator hHas an experimental HTML 5 and ARIA checking so if you want to check you are using your ARIA attributes correctly you can use the HTML 5 Validator. Quickly, ARIA now browser support, when I was doing these graphs I couldn't work out how to make it 10, so that's why it says 10 and 10. It is not 10 out of 10. Browser sport in Firefox is good, opera and safari not great but they are working on it. AT support is pretty good. That's it. I have been told. References - this will be available.
NEW SPEAKER: Thank you so much, Stephen. .
NEW SPEAKER: If we do 25 minute break we can do Q and A now so is that all right, with everyone. Who is going to be first? Veronika - where is she. .
FLOOR: I’ve a question Henny might be able to answer better than you, about HTML 5 and things like Opera, mini server site munching of content. Does it work at all.
STEVE FAULKNER: I have no idea, ask Henny. Why do I always get the questions I can't answer?
{Laughter}
NEW SPEAKER: It is a bit too forward looking, I think I mentioned that in my slides this morning, something obviously with HTML 5 getting more robust we want to look at putting into the mobile browser. As Steve said, the speck needs to stabilise in more areas that one and we can start implementing from desk browser. Opera mobile is more likely to have it for an opera mini first.
STEVE FAULKNER: Question answered. .
FLOOR: Seeing every library out there bent over backwards the last three years to put keyboard support in things like date picker, what is your personal thought of how can it happen if someone comes up with a native UI element with a browser it doesn't come with keyboard support. What happened there.
STEVE FAULKNER: They have not implemented it. That's the thing, the same with AT support, people think native lists magic but it is not. The browser vendors have to put the work into it. I know opera is working hard to get ARIA support and also in the process they are bringing in support for native controls that are in HTML 4. So what we need to remember, is that browsers like (inaudible) and Firefox have had native AT support for a long time. Browsers like safari on windows, web kit on windows, chrome and opera have not had native IT support, it is only just starting to happen. So that is the question. Ask Henny.
FLOOR: In terms of the semantic HTML 5 elements, I am okay with the article element but you still have to use the DIVID content, is there no ID element for main content of page.
STEVE FAULKNER: Certain people have been arguing for that. One of the things they have been trying to do is I okay we have had A ARIA Landmark roles we want to map them on to native elements. The editor of the HTML 5 has not been convinced that a container, a native container role like content role or main container or content container is warranted or needed.
FLOOR: HTML 5 wanted to rejuvenate the whole HTML 4 process and now they are preventing innovation happening, that HTML 4 was.
STEVE FAULKNER: You can say that , I wouldn't.
{Laughter}
I wouldn't possibly say that!. You know, the thing about HTML 5 project experiment is that it is very much driven by one person or gatekeeper and you need to be able to convince that gatekeeper that that particular thing is required of desired. People within the movers and shakers within the community have said, such Anna vancastrian. And Bruce, Jeremy Keith has come out in support of a container like that, but it has been pooh-poohed. Can I say pooh-poohed here.
FLOOR: Two questions actually. One, good to see so many form controls in HTML 5 but in the previous experience, even the drop down controls is hard to style in quite a few browsers. How far it is going to be I implemented with CSS.
STEVE FAULKNER: That's not been decided yet. My understanding, you can't style very well the controls such as date picker, that's one of the things not decided. I know they are talking about XBL bindings which I don't quite understand. There has been talk about that. That will affect up take as well. We understand that these, the date pickers out there are quite complex but they are already built by people and you can style them and do what you want. Even when you have native controls unless they can be made pretty for the desires of the designer or the client, then probably you are going to find they will still be using Java script libraries over the native control.
FLOOR: The other question was regarding the role attribute, do you mean the role I tribute I can define as a Rule or are there pre- defined roles.
STEVE FAULKNER: There are pre- defined roles about 60 roles. They fall into three main areas, Landmark roles, I have already described, widget roles like slider, combobox, etcetera etcetera, and then some document structure roles like article and things like that. Widget roles are really well supported. Essential these roles map on to pre- defined accessibility objects and they are things we find in the desktop. So they are well supported in ARIA. Yes. .
FLOOR: Thank you.
FLOOR: What we are interested here is understanding about time line a bit more, looking at where and we have come from in terms of building web applications particularly standard compliant web applications it has taken ten years to get a set of browsers that currently support the standards we have, which are ten years old. So, I mean, my particular concern is that the time it is taking to get progress on HTML 5 and the time it will take to get this into browsers, I am thinking I am going to be retired by the time we can actually use it, because we have enough critical mass of browsers that will able to support it. If you look today we are still debating in many applications if we can abandon complete parallel support for IE 6 for example, and there has a debate raging about that. My concern is that I will be retired by the time we can use these things, its taking so long. It will be so long before there's a large enough population of browsers out there we can actually use with this stuff.
STEVE FAULKNER: Yes
{Laughter}
erm .... well, the thing about it, HTML 5 is a vast specification and it has lots of different elements in it, lots of different areas. Some are well supported in browsers now and some areas are poorly supported in browsers. I have the same fears as regards, for example, the form controls, how long its going to take for those form controls to be implemented and how long is it going to take for them to be supported by AT? So, I can't agree with you but there is a lot of support behind HTML 5 from the browser vendors like Mozilla, apple and Google are big supporters of it. So there is a lot of momentum there. Things are getting implemented. It is obviously going to be a progressive implementation but yes ..... .
FLOOR: One of my key concerns is ARIA - ARIA requires certain browsers combinations with AT combination to actually work. Now, with a company I work with we have graded browser support matrix that anything classified as A grade has consistent top level support some the browsers don't have ARIA functionality available. We may need to do something in IE 6 and older versions of Jaws to make it work. Do you have suggestions, guidelines, pointers to how to tackle using ARIA where it works and what to do when ARIA isn't available and how to figure out one from the other? . .
NEW SPEAKER: One minute.
STEVE FAULKNER: One minute! I understand the issue being there but again I suppose it comes back to you don't just use ARIA alone and slap it on to badly formed Code that doesn't work that well anyway and then say it is successful. Somebody last week described ARIA as the cream on the coffee type thing. If you have a solidly built foundation and the sort of progressive enhancement techniques Yahoo! employs, for example something like a slider into a drop down list with the values. Sorry.
NEW SPEAKER: We can carry on this discussion in the break shortly and also when we all retire to the pub later as well.
NEW SPEAKER: We'll kick off the afternoon session. Hope you had a really good lunch. We'll kick off with Steve Faulkner now, senior web accessibility consultant at Paciello group. I know some pronounce it PACHIELLO group…
STEVE FAULKNER: My boss pronounces it Paciello.
NEW SPEAKER: TPG Europe, and you are also technical Director of TPG. And there is a plethora of other things. He is on various members of various groups like web standards group, the YHTML 5 working group. He was the creator and lead developer on the web access tool bar, Director of the web access tools consortium and also the co-developer of the colour contrast analyser. Steve is going to talk about accessibility and HTML 5 and WAI-ARIA. Thank you very much, Steve.
STEVE FAULKNER: Robin has told you all about me, so I won't need to say much more. Yes, I am involved in the W3C HTML working group, which is the group working on the next version of HTML, which is HTML 5. I am also on the W3C protocol and format group, developing WAI-ARIA another specification - WAI-ARIA stands for Web Accessible Initiative Accessble Rich Internet Applications, it’s quite a mouthful. This is the second time I have used this slide, it is really an excuse to show a picture of my daughter, who was born back in April. Why is HTML 5 accessibility important? It is the future of the web as far as HTML is concerned, so it is something we need to think about and worthwhile discussing.
Subtitles, this presentation is subtitled, happy families. HTML 5 and WAI-ARIA, because they work so well together, but also because as I have said I am on the working groups and they are not happy families but there's a lot of discordant conflict that occurs between accessibility crowd, the grumpy accessibility crowd, the curmudgeons and the young Turks of the HTML 5 project. But we all try to get along anyway.
What is HTML 5? It is the future. The next version of HTML. Many of the new features aren't yet implemented or decided upon. Some of the things that are getting most buzz in HTML 5 are things such as web workers, web sockets, these things have been taken out of HTML 5 but are under the umbrella but are back in the technologies, which I don't understand, technology that are not to do with the user interfaces, which I don't understand. Possibly someone as Christian would. These things are being implemented but much of the UI stuff has not been implemented, or it is supported in one browser experimentally or two experimentally.
There are many new features that will make it easier for developers to provide accessible and inaccessible content. Also, another thing to note about HTML 5 specific itself, it is huge. It’s about 808 pages. I wouldn't suggest you print it out off the web. Most pages have little to do for web developers trying to use the language essentially, HTML 5 is a specification for browser vendors on how to implement HTML and associated APIs and DOMs and things intraoperably. I wouldn't suggest you dive into HTML 5 but there are quite a few good resources like HTML5doctor.com which Bruce Lawson is one of the contributors. He is one of the fellow evangelists of Henny and there are other ways of looking at the specification to get your head around what is in HTML 5.
Also, as I said, WAI-ARIA, accessible rich Internet application specification, another specification from W3C. I say WAI-ARIA now because although it is still in development, it is available to be used now and has fair widely and good implementations in the major browsers and AT. What WAI-ARIA is is essentially a load of attributes that you can add to existing HTML or XHTML or any other mark up language really. You can add to the elements that provide information to assistive technology to give them information about the role of the - sorry, give information about the role of the element that it is attached to or give them information about the state or what features it has. This information can be then conveyed to the assistive technology users like screenreaders. As I said it can be used with HTML, XHTML, SVG, Zool, the user interface language that Firefox is built in, many extensions, anything the user interface is built in Zool. So, it is a versatile language and it is not a language that is supposed to be used in isolation but with host languages, such as HTML.
Future potential, HTML 5 a whole slew of new semantic elements like NAV, article, footer, etc, that will provide semantic structure. As yet, they are not implemented in browsers. That is that they don't have, as far as browsers are concerned, a default style associated with them. But you can use them but they are not - you need to use workarounds for example, in Internet Explorer in order to make them styleable. Early adopters have started to use them. They are more semantic than the old way of having a DIV with a class equal article on it for example, they don't convey any information, more information, than a plane DIV to assistive technology.
So, moving on, future potential. The old wave of HTML 4, you could divide your structure when developing a web page a website, you could have a DIV at the top that would be the header area, then you have a DIV down the side with navigation, DIV on the main area, a DIV with content, and then a footer. With HTML 5, you now have semantic elements to divide the areas. You have header, NAV etc, and so on.
The WAI-ARIA has roles called Landmark roles like banner, main, navigation, etc. What these do is something similar to what the semantic elements do in HTML 5. They chunk the pages into large perceivable regions and it provides for technology users and also potentially for any user that is not using a pointing device, for example, that it provides navigation of a page in a few keystrokes. These Landmark roles are implemented in browsers and supported by AT. Obviously not all versions of AT, but the newer versions support the Landmark roles, such as Jaws, NVDA which Christian was upping before and also ORCA, an open source screen reader for Linux. They do not serve the same function as new HTML 5 semantic elements, the reason being the way HTML 5 semantic elements are specified is that you can have, for example, multiple headers, multiple footers or multiple containers within a web page when really the Landmark roles are for large chunks of the page.
I will show you a quick demo of the Landmark roles to reinforce the idea of navigation of a page in a few keystrokes. I have not worked out how to do it in a smoother way until you do that for a moment. What I have got here is just a simple example page with container elements and their roles showing.
So what it provides is the ability to go in a few keystrokes just move through all parts of the page. So a user can quickly zone into the area of the page they want to access the information for, then dig deeper into that part of the page. Landmark Rules after supposed to be a super child version of the ubiquitous skip link but the problem is the skip link you have to have it there on the page, it usually only takes you to one area. It chunks out the page so you can quickly move using the keyboard to any area of the page.
So as I said, it can be used now in HTML 4 for example, plus ARIA. You have the same idea, header at the top of the page, you put a role of banner on it and it becomes that Landmark role. Divide the side bar, you put a role for navigation on it


