tag:blogger.com,1999:blog-31139820149518401282024-02-20T05:13:31.165-05:00mindforksDavid Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.comBlogger116125tag:blogger.com,1999:blog-3113982014951840128.post-63458692097677418342013-05-09T10:00:00.000-04:002013-05-09T10:00:11.576-04:00Global Accessibility Awareness DayHey there.<br />
<br />
This year I've chosen <b>time</b> as my personal theme for <a href="http://www.globalaccessibilityawarenessday.org/">Global Accessibility Awareness Day</a>. Your time is your most precious resource. Obvious no? Yet the value of your time is only there if you spend it in a way that you can be happy about, even (or especially) retrospectively. Your time is also the greatest gift you can give whether it is time to read stories to kids, time to listen to someone in need of your ear, time to solve problems, time to make a website or app accessible, and so on. You are busy. I know. I'll try to use less commas.<br />
<br />
I once worked with a remarkable dude named <a href="http://idrc.ocad.ca/index.php/about-the-idrc/staff-pages/359-in-remembrance-of-jon-kameoka">Jon Thomas Kameoka</a>. He ran our local network. Jon was well acquainted with the patience aspect of human-time as it took quite a while for him to physically articulate words. When I first met him I wasn't sure how to interact, and some people seemed to interact with him with a few words, quick waves and nods. I was busy. Then one day when we were alone I decided to try a real conversation. I quickly realized he was just a sharp dude with physical obstacles. Later, whenever I spent the time to listen carefully I was often well rewarded as his satirical wit was shatteringly funny. He actually toiled to produce speech for the gift of entertainment! I regret all those times I rushed past him or cut our conversation off early because I had to get back to work. I could have made up the time. I can't make up the time with Jon anymore. I do not regret any of those times I stopped to chat. These days I occasionally come across things that remind me of him and how the time-patience battle often gets in the way. A recent reminder for me was coming across a commencement address by David Foster Wallace:<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/xmpYnxlEh0c" width="560"></iframe><br />
I'm not sure how I feel about the video since it feels a little obvious eh? Awareness and perspective are vital. Self-centered thinking is a prison. It is a trap. I want to say decide for yourself how you want to assess time and value. How do you value grace? I think rushing slows you down; give your time while you can.
[Hey I just saved you a few minutes by editing out a rambling philosophical digression.] Anyways, without getting caught up in debate about the concept of time let's at least agree it is something we can't live without. Sadly time takes precious things away from us. On this day, can you take 59 minutes to investigate accessibility in your workplace and in your products? Research accessibility, reach out to peers, ask questions. I am sure you will be rewarded for it, especially if it gives you new perspective. Sorry about that last comma.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com239tag:blogger.com,1999:blog-3113982014951840128.post-74536023280983165962012-07-05T21:45:00.001-04:002012-07-05T21:45:12.574-04:00Mission feeds moraleA long time ago I surprised <a href="http://www.marcozehe.de/">Marco Zehe</a> with a question and I took notes. These are my notes:<br />
<blockquote class="tr_bq">
me: What do you like about your work at Mozilla? You can take your time, and if you like you can answer another day.</blockquote>
[0.01 seconds elapse] <br />
<blockquote class="tr_bq">
Marco: Now is fine. A couple of things. The fact that sometimes you can work independently and thus are required to take some responsibility. You see gratification for your work in <span style="font-style: italic;">many</span> different ways. I'm fully aligned with open source and making the web better - our mission - that's why I work here. We get to shape the way new stuff on the web becomes accessible. Whenever I get together with Mozillians, the amount of creativity and brilliance everyone brings to the table... creativity in a lot of ways. I'm always amazed by the talent at Mozilla.</blockquote>
<blockquote class="tr_bq">
me: Can I blog this.</blockquote>
<blockquote class="tr_bq">
Marco: Sure I don't care.</blockquote>
I can tell you Marco is still excited today. Specifically about Firefox Mobile OS... more on that another day :)<br />
<blockquote>
</blockquote>
David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com242tag:blogger.com,1999:blog-3113982014951840128.post-29114801353352352692012-07-05T21:37:00.000-04:002012-07-05T21:37:19.161-04:00Canvas AccessibilityOn its own the HTML canvas element is not accessible to everyone and that's not likely to change. The canvas itself is simply a primitive drawing surface that web developers can use via a fairly low level graphics API. For example code to draw a triangle might look something like this:<br />
<br />
<code>
ctx.beginPath();</code><br />
<code>ctx.moveTo(75,50);</code><br />
<code>ctx.lineTo(100,75);</code><br />
<code>ctx.lineTo(100,25);</code><br />
<code>ctx.fill();</code><br />
-- <a href="https://developer.mozilla.org/en/Canvas_tutorial">MDN</a><br />
<br />
This offers developers a "standards compliant" way to have high fidelity control over the graphics of their web offering. Polished visual experiences usually reserved for the desktop, or for browser plugins (which are not web standards) can now be delivered in a web page.<br />
<br />
Canvas sucks though.<br />
<br />
You might say wat!? I'm going to naively try to condense thousands of words into a few here. There have been a great many splendid web experiences built with a good underlying document structure (DOM) consisting of the elements that have been around a lot longer than canvas. Combined with CSS, ARIA, and js it is possible to provide innovative web experiences for everyone. The elements and structure provide meaning that can be leveraged for accessibility, for searching, for styling etc. With canvas we lose that.<br />
<br />
So what can we do for developers that need to use canvas?<br />
<br />
Well, presumably if they are creating anything sophisticated there is meaning and structure <i>somewhere</i>. For example right now it might be in home-grown js data structures. If we could just find a way to have a consistent way for web developers to store structure then we have a glimmer of hope in providing accessibility tools with the information they need. What structure should we suggest web developers use? Well, how about HTML?<br />
<br />
February 29th, 2012 we landed support for canvas accessibility in the development version of Firefox (which is now Firefox 13). In a nutshell a web developer can use the power of html inside canvas. The html will not itself be drawn on the screen, since that would circumvent the web developer's reason to choose canvas, and just be silly, but in all other respects this HTML will be "alive". Web developers will be able to utilize the built in keyboard navigation and event handling of the web, and the accessibility of the web.<br />
<br />
Steve over at TPG has a good blog about <a href="http://www.paciellogroup.com/blog/2012/06/html5-canvas-accessibility-in-firefox-13/">HTML5 canvas accessibility suppor</a>t in FF and IE.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com34tag:blogger.com,1999:blog-3113982014951840128.post-84392349713139404162012-07-05T21:23:00.002-04:002012-07-05T21:23:21.037-04:00CobwebsI'm going to sort through some draft posts and kick this blog thing back into gear, at least for a while.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com41tag:blogger.com,1999:blog-3113982014951840128.post-57685202184791567592011-03-21T12:02:00.003-04:002011-03-21T12:09:13.441-04:00Wanted: Mozilla Accessibility DeveloperBest. Job. Ever.<br /><br />Accessibility provides one of the most interesting and rewarding software development careers. This statement is biased to be sure, but consider these examples of problems in web browser accessibility:<br /><ol><li>Exposing JavaScript driven web applications to screen readers.</li><li>Making new HTML accessible, for example: canvas and video.</li><li>Gathering information from the layout engine asynchronously but supporting desktop clients synchronously.</li><li>Caching information about web content and reporting relevant changes to assistive technology desktop clients.</li><li>Communicating the changes of a mutating DOM performantly and securely; choosing the right data structures and optimizing our traversal and filtering algorithms.</li></ol><br />The web browser is a large and complex program. In order to do a really good job with providing web accessibility through the browser you should understand how everything works, including the layout engine itself. There is no end to the learning process and the depth of real world computer science-y goodness.<br /><br />Pretty soon we'll work to provide an enjoyable eyes-free experience with Mobile Firefox on Android. We'll need to <a href="http://mindforks.blogspot.com/2010/11/asynchronous-accessibility.html">refactor</a> our accessibility engine for out of process content. We'll need to help design and drive the next web and desktop accessibility APIs. We'll help define speech on the web. We'll do this because it helps people with disabilities participate in the open web and because we love it.<br /><br />Sound intriguing? If interested please send a plain text résumé to: the first letter of my first name joined to my entire last name, at mozilla dot com.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com43tag:blogger.com,1999:blog-3113982014951840128.post-5899703580760730612010-11-05T13:56:00.008-04:002021-09-12T14:17:40.684-04:00Asynchronous Accessibility?Our current gecko accessibility engine (GAE) happily serves chrome and content information through synchronous desktop accessibility API such as MSAA/IA2. For example a screen reader makes a synchronous IPC call over COM via MSAA/IA2 into our process where we (GAE) grab the information requested and return it (pass it back).
Firefox will almost certainly be moving web content rendering out of the chrome process. Communication between chrome and content processes will be done asynchronously because users like their browsers to be responsive. Desktop accessibility API is implicitly synchronous. In addition to the chrome (browser UI) process, content processes contain a lot of juicy information (i.e DOM) that needs to be served through desktop accessibility API.
What to do?
<span style="font-style:italic;">Hypothesis 1:</span>
Forward messages between the chrome and content processes.
<span style="font-style:italic;">H1 conclusion:</span>
Fail. Google tried this and it is too slow.
<span style="font-style:italic;">Hypothesis 2:</span>
Cache all the chrome and content information in one process.
<span style="font-style:italic;">
H2 conclusion:</span>
Google is now doing this with some success. If a screen reader is detected, they cache the accessible DOM tree(s) in the main browser process. Cache latency can lead to screen readers getting stale information sometimes, but it is expected that firing desktop update events will mitigate this.
<span style="font-style:italic;">
Hypothesis 3:</span>
Create asynchronous desktop API.
<span style="font-style:italic;">H3 conclusion:</span>
Yeah, this might be a pipe dream.
I am currently thinking about something like H2, but that would allow assistive technology to transition to H3. In terms of pictures, here is my thinking:
<img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 176px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6p5InvfC3GJL6xpb6H_9voSa2loS2E3qwJ-Pih4iNqTVB65f2T1TGADs4gsWNmwMVtWP8ztGgFZ0ml9atBFQlQCXHCk98PtIWoWRpLwSnH5R64Qi1hIJdFovF9OyWd8FzsGA9lXyDCS8/s200/Accessibility+Process.png" border="0" alt="accessibility process diagram"id="BLOGGER_PHOTO_ID_5536127080706381298" />This minimalist figure shows boxes for chrome, and content processes with asynchronous connections to box that represents an accessibility process called "Async Accessibility" (needs a better name). This box butts up to another box that essentially represents our current gecko accessibility engine, which in turn has a synchronous connection to assistive technology (over desktop API).
If we then begin providing desktop access to "Async Accessibility", my hope is that progressive AT could begin using this API when they are ready. As I write this I admit I have serious doubts this would actually happen, but I want to get this thinking out there.
<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 167px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbmhyr3eSCS0UnMBOtx45vvutU9ISOtRAnDWJrdXGMBKaIdfxHLEjB5TRTIgoRjiJI1IzZfbIIMyjh6kx35cSDpE0g6INd5UlvQSOhvpQopLGW2Eatf85zwzuDe5v3qKTczWV6JMId3nE/s200/Async+Accessibility.png" border="0" alt="AT talking async to a11y server"id="BLOGGER_PHOTO_ID_5536127700785575586" />This figure shows AT using asynchronous API to access "Async Accessibility" through some as yet undefined API and usage pattern.
In some ways H2 and H3 are similar, with H2 being more straightforward. I haven't attempted to estimate the engineering effort for either approach but there is a good chance we'll end up with something closer to H2. It all depends on resourcing and time, and how quickly our desktop firefox moves to multi-process content and how long we might support a single process mode.
I'd like to thank Josh Matthews (jdm) for sanity checking this before I posted it. Feedback is welcome. I'm hoping to iterate on this and to ultimately develop a solid implementation plan by mid December.
Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com24tag:blogger.com,1999:blog-3113982014951840128.post-53312388880118809232010-09-28T09:52:00.005-04:002010-09-28T11:11:33.847-04:00Firefox 4 beta - AT Vender ReliefSuccess. Earlier this month I posted an <a href="http://mindforks.blogspot.com/2010/09/firefox-4-beta-at-vendor-alert.html">alert</a> about the temporary Windows screen reader bustage with our Firefox 4 betas. Since then Marco <a href="http://www.marcozehe.de/2010/09/23/whats-up-with-all-those-windows/">posted</a> a status update about our temporary and long term fixes. We worked together, along with the screen reader developers to provide 3 solutions. The first is a temporary hack, and the other two are long term fixes and probably generally useful anyway:<br /><ol><li>The "emulation" hack. For known AT that require them, we resurrected the windows that were recently removed from Firefox. We intend to only create these windows for legacy AT so that users don't necessarily need to pay for upgrades for their software to use Firefox 4.</li><li>The speedy document accessors fix. We added quick methods to get parent and child documents, and indexed access to documents.</li><li>The QueryService fix. Provide a special service ID for getting the accessible object that represents the browser tab content document that contains the accessible object queried. Here's some sample code to illustrate how you might use this service:</li></ol><code>static const GUID SID_IAccessibleContentDocument = {0xa5d8e1f3,0x3571,0x4d8f,0x95,0x21,0x07,0xed,0x28,0xfb,0x07,0x2e};<br /><br />// Assuming you have a CComPtr<IAccessible> accessible<br />CComQIPtr<IServiceProvider> serviceProvider = accessible;<br />CComPtr<IAccessible> accessibleDoc;<br />serviceProvider->QueryService(SID_IAccessibleContentDocument, IID_IAccessible, ( void**) &accessibleDoc);</code><br /><br />If the 'accessible' is in web content then 'accessibleDoc' represents the main content document that contains 'accessible'. It works in all cases we tested, including special documents like about:addons, as well as documents with iframes where we still always return the main content document. This support is in our nightly builds and will come with FF4 beta7. I hope this will make it easier to manage your cache and context switching.<br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com9tag:blogger.com,1999:blog-3113982014951840128.post-79676244186343387732010-09-01T11:43:00.015-04:002010-09-01T20:16:44.931-04:00Firefox 4 beta - AT Vendor AlertHello friendly accessibility technology vendors and developers.<br /><br />As of the Firefox 4 beta 5, the child windows associated with browser tabs have been removed thereby breaking the expectations of most windows screen readers. Regretfully, the timing of this change and the substantial impact it has on AT caught the Mozilla accessibility team by surprise. Unfortunately this change is a critical step in our browser's technical roadmap. The good news is that this issue was quickly discovered during our a recent beta cycle and now we can work together on a fix!<br /><br />Let's fix this the right way. We probably shouldn't have AT relying on window classes to indicate where browser tabs are, however convenient it might have been years ago. I think, depending on how this per browser tab separation has been used in your code, we can provide an even better solution perhaps even allowing some hack removal on your side. We've very recently been in contact with most of the main AT vendors, and some have what sounds like a fix already in hand. We want to make sure we protect all our users from potential bustage, so we want to hear from all accessibility technology developers that use Windows accessibility API and have been relying on per browser tab window classes.<br /><br />Something to look for... anywhere you have code checking for a specific window class "MozillaContentWindowClass" your code will almost certainly now be broken for FF4 beta5+. Note this class used to correspond to the HWND of the child content window that received focus whenever the top level window gained focus. To see how things look now I recommend Microsoft's <a href="http://msdn.microsoft.com/en-us/library/ms727247.aspx">UISpy tool</a>. Be sure to run this against the most recent FF 4 beta or nightly.<br /><br />We have time but must move swiftly. Please contact us directly or on our <a href="https://lists.mozilla.org/listinfo/dev-accessibility">accessibility community mailing list</a>.<br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com25tag:blogger.com,1999:blog-3113982014951840128.post-78766437480025476942010-08-19T11:34:00.006-04:002010-08-19T12:20:58.021-04:00Wanted: Mozilla Linux Accessibility DeveloperThe Mozilla Corporation is seeking a software developer for an exciting opportunity to hack in our Linux accessibility layer. The successful candidate will make core code additions and improvements to the accessibility engine used by the award winning Firefox browser, and other gecko based applications.<br /><br />Requirements: <br />C, C++ <br />Team player with good communication habits <br /><br />Bonus: <br />Atk, AT-SPI <br />Familiarity or fascination with assistive technology (AT) <br /><br />Scope of work:<br />6 month contract. Rate negotiable. <br /><br />Details of work: <br /> Your primary duties will consist of working with the Mozilla team to fix gecko Linux accessibility bugs. This may include performance profiling of Firefox, Thunderbird, at-spi, and AT such as the Orca screen reader against cases where there is user perceivable slowness. You will work with the Mozilla accessibility team and the Linux accessibility community (primarily the Orca team) to prioritize and fix the most critical bugs. You may also be able to help bring the existing Orca + Firefox automated tests to an acceptable level and design and assemble an automated nightly test setup. You may also have the opportunity to collaboratively make improvements to the Linux accessibility infrastructure (at-spi2).<br /><br />If interested please send a plain text résumé to: the first letter of my first name joined to my entire last name, at mozilla dot com.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com4tag:blogger.com,1999:blog-3113982014951840128.post-17816958774769969132010-04-09T11:32:00.002-04:002010-04-09T11:48:51.373-04:00Self Voicing Apps and Screen Readers could live togetherScreen readers are applications that interrogate the desktop, applications, and events, in order to provide users with an aural rendering.<br /><br />Self voicing applications already render aurally; and as a user interacts with the application, they control what is spoken.<br /><br />These worlds can collide, and traditionally folks have been leery of self voicing applications. I think of this in the same way as an application might not follow the visual conventions of a given platform/desktop.<br /><br />But.<br /><br />What if there was a standard way for screen readers to hook into the TTS system and find out what text is being queued for speech? Then, if the text came from a self voicing application, the screen reader could pull it from the queue and incorporate it as it sees fit.<br /><br />So like an application should pay attention to "desktop integration", so too an aural application could pay attention to "screen reader integration" except by somehow allowing screen readers to intercept.<br /><br />Thoughts?<br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com4tag:blogger.com,1999:blog-3113982014951840128.post-71146142580609720452010-03-29T21:14:00.008-04:002010-03-29T23:09:28.592-04:00Mozilla at CSUN 2010First of all, check out my colleague <a href="http://www.marcozehe.de/2010/03/29/csun-2010-recap/">Marco's recap</a> of <a href="http://www.csunconference.org/">CSUN</a> 2010. I'll try add to his report, while avoiding redundancy.<br /><br />Uhm. Wow. That was rough. Three days of people loving Mozilla.<br /><br /><span style="font-weight:bold;">Meet ups</span><br /><div style="text-align: right;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVNqPaeFLAQhrRKmKcvREiR8p4-hLgY02QEAlYI5MODfhc5H5lutym2RBgm8MYUgHuRNkTBwvjG2_XxVzRCAxRq7Wz6jPG3nA0dooqaFSQ-oTUn8tc4MbNY-wdepC4YY2scbEcPJLzi8/s1600/IMG_3324.JPG"><img style="float:left; display: block; margin: 0px auto 10px; cursor: pointer; width: 320px; height: 123px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJVNqPaeFLAQhrRKmKcvREiR8p4-hLgY02QEAlYI5MODfhc5H5lutym2RBgm8MYUgHuRNkTBwvjG2_XxVzRCAxRq7Wz6jPG3nA0dooqaFSQ-oTUn8tc4MbNY-wdepC4YY2scbEcPJLzi8/s320/IMG_3324.JPG" alt="sharing a laugh: Mike Gorse, Brad Taylor, David Bolter, Marco Zehe, Steve Faulkner" id="BLOGGER_PHOTO_ID_5454227906647263218" border="0" /></a></div>I landed at CSUN on Thursday afternoon and left on Saturday morning. In the short time I was there I took quite a few notes and looking over them now I see they comprise a long to-do list. I won't bore you with that here. I met with accessibility hackers from such places as GNOME, RIM, Adobe, Novell, Deque Systems, GW Micro, IBM, The Paciello Group, and of course my colleagues from Mozilla, Marco and Alexander.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-9CXiuDkgeSZsAnb3Bt5yCAieUNH7ftaxJZAbxAoMTZBdyziL-Fpia4BqZBmjeJ-Wlf-cAO8Pm9XpvBoDmUFbJv5RCrHJEX46HWIEgnNrRaI-_O7ejYVVnZtQhFL64VdGB-1i2CvchJc/s1600/IMG_3328.jpg"><img style="float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 128px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-9CXiuDkgeSZsAnb3Bt5yCAieUNH7ftaxJZAbxAoMTZBdyziL-Fpia4BqZBmjeJ-Wlf-cAO8Pm9XpvBoDmUFbJv5RCrHJEX46HWIEgnNrRaI-_O7ejYVVnZtQhFL64VdGB-1i2CvchJc/s320/IMG_3328.jpg" border="0" alt="Brad Taylor with two glasses of beer"id="BLOGGER_PHOTO_ID_5454230390772084722" /></a> Cheeky Brad Taylor used beer to lure me into an interview. The rest of the to-do list came from interactions with users and suppliers. It was amusing to see how they reacted when I asked them questions like "how can we do better"; gathering it was sort of a refreshing change of pace from the booths that are selling product.<br /><br /><span style="font-weight:bold;">Cloud</span><br />No, this bit isn't about accessibility in the cloud. Compared to last year's CSUN, I felt a bit of a dark cloud unfortunately. Dreams of a full open source stack for accessibility have taken a hit recently, with Oracle closing Will Walker's position as GNOME Accessibility Lead, and other funding sources tightening up. Promising <a href="http://live.gnome.org/Caribou">Caribou</a> creator/hacker Ben Konrath has been an innocent victim of frozen grant funds within the group that contracted him. This is happening as the GNOME accessibility infrastructure is being ported to d-bus and other exciting and hairy issues loom, such as GNOME 3.0, and GNOME Shell. Novell has been doing more than its share in accessibility, but will that continue? I'd really like to see a coordinated funding strategy among the distros. I can dream can't I?<br /><br /><span style="font-weight:bold;">Sunshine</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKHe2ZAaG3_PwI8ZKhN1m8ZX5K7ZMn8xfzTxQ3quUp3aPdnwviF_hTn8lBCXLRgJqdKsN-hODfC4T6dbEB0ZrAxndSdDtxGTYeJfAkw69YhTcKMRdOu2b18fkZbGZ6C0RkmObvPXGEik/s1600/IMG_3352.JPG"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPKHe2ZAaG3_PwI8ZKhN1m8ZX5K7ZMn8xfzTxQ3quUp3aPdnwviF_hTn8lBCXLRgJqdKsN-hODfC4T6dbEB0ZrAxndSdDtxGTYeJfAkw69YhTcKMRdOu2b18fkZbGZ6C0RkmObvPXGEik/s320/IMG_3352.JPG" border="0" alt="Alexander and I getting some air"id="BLOGGER_PHOTO_ID_5454235793633560610" /></a>I am keenly aware of how lucky I am to work at Mozilla. More than ever I am resolved to make the most of it, to seize the days, and to help move the accessibility needle as much as we can.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-AUYPO6WTAlaK8DKWzlwa9FNDJMsaTos8EwMO584Z2LTItwDHMNQAt9qNErZOhxTT1IrhUw5bTHHzGi8c7RhPCpW_KrwYGddApcFHNTqpDgSsePBjtiudF5pQ3qLShXgbygJ5qEugWZE/s1600/IMG_3336.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 120px; height: 160px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-AUYPO6WTAlaK8DKWzlwa9FNDJMsaTos8EwMO584Z2LTItwDHMNQAt9qNErZOhxTT1IrhUw5bTHHzGi8c7RhPCpW_KrwYGddApcFHNTqpDgSsePBjtiudF5pQ3qLShXgbygJ5qEugWZE/s320/IMG_3336.jpg" border="0" alt="Marco smiling on the shoreline"id="BLOGGER_PHOTO_ID_5454239931536085362" /></a> We have a tough road ahead of us with the web moving ever more to visual media, we'll see more usage of canvas, and (hopefully) SVG. We see people excited about video, and captioning. We should continue to support accessibility innovation in <a href="http://blog.gingertech.net/category/video-accessibility/">web video</a>, to leverage things like javascript access to annotation tracks and sync information. Could be wicked times.<br /><br /><span style="font-weight:bold;">Memorable Moments</span><br />In his blog Marco mentioned speaking with a humorous gentleman through a sign language interpreter. Witnessing this, I was deeply moved for some reason.<br /><br />Dinner with <a href="http://monotonous.org/2010/03/27/heres-to-joanie/">Joanie</a>, the current Orca (Linux screen reader) maintainer, followed by debugging a pesky Orca+Firefox bug.<br /><br />Finally meeting Charles McCathieNevile, Matt May, Flavio Percoco Premoli, Bryen Yunashko, Mike Gorse, and many others. I hope to see them all again.<br /><br />Chatting with Steve Faulkner about some shared W3C pain.<br /><br />Sharing a flight back to Toronto with Greg Fields (RIM accessibility) and planning a <a href="http://twitter.com/berryaccess/status/11286493018">UI meetup</a>.<br /><br />OK that's enough! Sorry. Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com7tag:blogger.com,1999:blog-3113982014951840128.post-36107590278478263272010-02-19T21:11:00.006-05:002010-02-19T22:03:12.632-05:00Accessibility Diagnostic Jetpack<img style="float:right; margin:0 0 10px 10px;height: 75px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKmwf7i3dfrqqF5WXkvnAwG0PL2XJIDlS9Ifdnv503gDetl9bDkWxF1t4g07F5dQ5ho84L-hMBAEoRR0JUg3pNQ0GHoaHXqBBSnacuyhPUqXdp4k5s9jOVpp3oTk-1Upl65WH0OeZOB0/s320/a11yservicenotification.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5440154538781833794" />I put together a little jetpack that tells you if Firefox's accessibility service is actually running in your browser. It is basically David Baron's "about:accessibilityenabled" extension but as a jetpack. If you want to give it a whirl, <a href="http://people.mozilla.com/%7Edbolter/jetpacks/service/ajet.html">strap it on</a>.<br /><br />You'll need to grab <a href="https://jetpack.mozillalabs.com/">Jetpack</a> if you don't have it already. Alternatively you can just use David Baron's handy <a href="http://dbaron.org/mozilla/about-accessibilityenabled/">about:accessibilityenabled</a> extension.<br /><br />Aside: we've noticed the gecko accessibility service is being used in some unusual places, for example, by some desktop anti-spyware; leading to unnecessary performance degradation. If you discover that our accessibility service is unexpectedly running in your Firefox session, please consider contacting me so we can figure out why...<br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com1tag:blogger.com,1999:blog-3113982014951840128.post-50145128064031127812010-01-13T10:58:00.004-05:002010-01-13T11:24:04.867-05:00Accessible SVG is closer than you think[Firstly, my apologies for not blogging more often (blame <a href="http://twitter.com/davidbolter">twitter</a>). I have a number of unpublished blogs that I've let get stale so I'm going try not to save unpublished blogs anymore. We'll see how that goes. Anyways, here's one I probably should have written late last year...]<br /><br />Sometime in early December, <a href="http://accessgarage.wordpress.com/">Aaron</a> pinged me to discuss the topic of SVG accessibility. This led to a quick Firefox <a href="http://people.mozilla.com/%7Edbolter/svg-checkbox-test.html">experiment</a> (<a href="http://twitter.com/davidbolter/status/6342541553">tweeted here</a>) using the cutting edge <a href="http://hsivonen.iki.fi/test-html5-parsing/">HTML5 parser</a> and <a href="http://www.w3.org/WAI/intro/aria.php">WAI-ARIA</a>. Note this demo is especially uninteresting if you don't use a screen reader. Long story short, it works and will work even better with a little <a href="https://developer.mozilla.org/en/gecko">gecko</a> love. Web developers that have already invested in learning ARIA can apply this knowledge to SVG elements, add some JavaScript, and have a pretty striking and accessible application. Note: please don't look to my experiment for "striking" visuals... that's just not my thing... you have to use your imagination here.<br /><br />I wonder, given the momentum HTML5 canvas currently has in the web developer playground, if the ability to inline SVG in HTML will breathe new life into SVG? As far as accessibility goes, it is certainly something for which I can hope.<br /><br />Oh and if someone wants to fix up my demo, feel free, and please drop me a line... and I'll link to yours. I'm a total SVG noob.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com11tag:blogger.com,1999:blog-3113982014951840128.post-4486215039176149772009-09-04T10:04:00.011-04:002009-09-08T11:24:39.131-04:00Keyboard control of html5 video elementsHTML 5 introduces the <span style="font-style:italic;">video</span> and <span style="font-style:italic;">audio</span> media elements. Playback is manipulated by the user with browser supplied controls (indicated via the controls attribute), or with author supplied controls. In the case of browser supplied controls the current Firefox implementation is described here, and an idea for potentially improved keyboard support is suggested.<br /><br /><img style="float:left; margin:0 10px 10px 0;width: 226px; height: 170px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrqYpPDh9w_zh0fPkuF3eP1OkpKfbuse1I73jI8ANjN4n09qn0QXswvHf-pBXna4RzuCjxknLGMllKAD9PIp69a_sKxF5FVH06MkfYAtk-okHhOjUZUqwGit7DhxcL-eBbHAoRIN9Lauo/s320/rick1.png" border="0" alt="video with no controls"id="BLOGGER_PHOTO_ID_5379103611825013010" />Show here is a screen shot of a video with no controls shown. In this case the reason they are not shown is because the mouse pointer is not hovering over the video. Hovering over this now won't show the controls; it is just an image after all.<br /><br />This next image shows a blown up view of the controls that appear when the mouse hovers over the video. I've also hovered over the volume control here to show reveal the volume slider.<br /><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 226px; height: 51px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgioRZiMUg_VK9WzIdWmMIXCo0W8sjIeqsLtxgOaAP2uXjDfmM0CUpXA22JtvdjWoz6EQL4peJJuOXezWEavuRxWmn_L0z6iSz9R5mHBmCPNKnuKYAS7Kuk32QY5xvnODx4mWZjPYfU8oI/s320/rick3.png" border="0" alt="video with controls"id="BLOGGER_PHOTO_ID_5379115698894469234" /> Point at what you need, click what you want, move away, and enjoy your video. Nice. When the mouse user doesn't want to interact with the video, the controls slide away leaving an uncluttered video viewing experience. The gotcha here is that not all users are mouse users, and not all devices have a mouse (or touch screen).<br /><br />Are you a keyboard user?<br /><br />We have you covered. You can tab to the video element. The controls are not shown but the you can manipulate the video using some intuitive keystrokes such as arrowing left and right to go back and forward, space to toggle play and pause, and up and down arrows to control volume etc. Sighted keyboard users can enjoy uncluttered interaction with the video, while screen reader users can of course enjoy the same interaction regardless of visual clutter.<br /><br />We still have some concerns:<br /><br />1. Discoverability. Once a user has tabbed to a video, it is difficult to tell that the video has focus and there is nothing indicating that the video is keyboard controllable.<br /><br />2. Feedback. The feedback after a user action is not as rich as the feedback when using the controls. For example, pressing right arrow to advance the video doesn't tell you how far ahead we went, or where we are in the overall length of the video.<br /><br />An Idea...<br /><br />Keep the current functionality but add a secondary keyboard interaction model. Once a user has tabbed to the video element then the video is directly controlled via the existing keystrokes. If the user hits tab again, the controls appear, and the first control is focused. A regular keyboard interaction model ensues for the controls (tab navigation, and per control keyboard manipulation). Tabbing past the last control leaves the video element entirely, moving to the next element in the document tab order.<br /><br />Pros: Discoverability is solved. Feedback is solved.<br /><br />Cons: It increases the number of items in the overall document tab order. Additional source code is required.<br /><br />Thoughts?David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com129tag:blogger.com,1999:blog-3113982014951840128.post-66676612865326497362009-04-22T12:08:00.007-04:002009-04-22T19:19:44.517-04:00Innovation and Usability in FirefoxThis is almost a bait and switch... but not quite.<br /><br />Where I see Frank's Mozilla Accessibility Strategy <a href="https://wiki.mozilla.org/Accessibility/Strategy">document</a> providing direction for Firefox/gecko is in the Mozilla development process as it applies to pushing the web forward. Your friendly gecko accessibility team currently consists of 3 core members: <a href="http://www.marcozehe.de/">Marco Zehe</a>, Alexander Surkov, and some <a href="http://mindforks.blogspot.com/">newbie</a>. This team is a vital part of bringing the web to everyone, but also, by its existence, it has the potential to create a false sense of security; sort of a "the accessibility special forces has our back" cushion. To some extent that cushion exists, but you have to make sure you're sitting on it. So what am I getting at?<br /><br />In a nutshell please see <a href="http://www.marcozehe.de/2009/02/09/implementing-a-new-feature-in-gecko-that-may-have-an-impact-on-accessibility-ping-the-accessibility-team-and-tell-them/">Marco's call for ping-age</a>.<br /><br />This is <a href="http://vocamus.net/dave/?p=480">happening</a>.<br /><br />That's great.<br /><br />Please do it more often.<br /><br />I'm looking at you too #labs and #ux, cuz <a href="http://www.icdri.org/technology/ecceff.htm">accessibility breeds innovation</a>, and <a href="http://mindforks.blogspot.com/2006/12/solving-disability.html">accessibility is usability</a>.<br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com7tag:blogger.com,1999:blog-3113982014951840128.post-4246468000033190142009-03-22T03:53:00.006-04:002009-03-23T16:09:19.654-04:00CSUN's 2009 Accessibility ConferenceLate last week I attended the 2009 <a href="http://www.csun.edu/cod/conf/">Technology & Persons with Disabilities Conference</a>, a conference which most of us accessibility folks call "c-sun" as it has been held at <a href="http://www.csun.edu/">CSUN</a> for over 20 years. What makes this an exceptionally important conference for accessibility is that it brings users, developers, educators, clinicians, visionaries, and policy makers together in one place. Thankfully a lot of them seem to love Firefox... and for good reason; more on that later.<br /><br />I was particularly jazzed about getting time in the same room with other Firefox developers: Alexander Surkov, Marco Zehe, and Aaron Leventhal. We spent some mornings, afternoons, and evenings together discussing the past, present, and future of web accessibility, children, wives, and vodka. When people had faded into their rooms, Alexander and I used the later hours to hack together and discuss gecko accessibility code design. His patch reviews are even faster than usual when he's sitting next to me.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS9ZcSblRWddVVehjmnyXhEwVHs9BEDdvWx-OjvjdIiUDMx34pYOk68enTIYg7X_4eJqp3VIK1ZIv4JJnzhnm1xbBiq0UINbhXzZ9dxHVDSQGkRkiCBl6by2ihFZnaxu17RMpW9At9f9A/s1600-h/IMG_2800.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS9ZcSblRWddVVehjmnyXhEwVHs9BEDdvWx-OjvjdIiUDMx34pYOk68enTIYg7X_4eJqp3VIK1ZIv4JJnzhnm1xbBiq0UINbhXzZ9dxHVDSQGkRkiCBl6by2ihFZnaxu17RMpW9At9f9A/s320/IMG_2800.JPG" border="0" alt="Marco, David, Mick, James, Aaron, and Alexander"id="BLOGGER_PHOTO_ID_5316449024407799250" /></a><br /><br />Mozilla works hard "to ensure that the Internet is developed in a way that benefits <a href="http://www.mozilla.org/about/manifesto">everyone</a>". It seems pretty clear Mozilla, especially with the work in WAI-ARIA for DHTML, has developed a reputation for pioneering accessibility. As UI issues arise on the web people are looking to Mozilla for answers, and we are keen to work with other communities to find the right solutions. To this end I made sure to get some face time with people at CSUN that I think will help, including Henny from Opera, and JP from Microsoft. In some cases attendees made sure to find me. Flattering. Anyways, I won't bather on much longer as I think Marco will be giving a much better report soon.<br /><br />Smiling in the picture up above are: Marco Zehe, David Bolter (me), the <a href="http://www.nvda-project.org/">NVDA</a> developers Mick Curran and James Teh, Aaron Leventhal, and Alexander Surkov (Eitan was absent for this photo). I quite like how Marco's cane glows like a Jedi weapon in this shot.<br /><br />May the force be with us.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com8tag:blogger.com,1999:blog-3113982014951840128.post-64515180518509369452009-03-12T16:21:00.006-04:002009-03-13T15:25:46.252-04:00Firefox Accessibility GoalsAhhh Spring.<br /><br />As we approach the ides of March, it is time for the Mozilla accessibility community to reflect, and to plan for the next quarter and beyond. Here are the high level goals we are thinking are priorities for next the few months:<br /><ol><li>OS X</li><li>DHTML (WAI-ARIA 1.0 compliance)</li><li>Stability and test coverage</li></ol>None of these are new high level goals, but each one has important new work waiting underneath. By the end of the month we hope to have this new work listed as concrete goals which we can use to organize our efforts. We'll report on that later. Other ongoing fluid goals, such as supporting community projects will continue to be high priority.<br /><br />All this planning is based on user feedback so feel free to leave a comment on this blog or drop a note on Mozilla's <a href="https://lists.mozilla.org/listinfo/dev-accessibility">accessibility list</a>... we're listening. Oh! If you happen to be at <a href="http://www.csun.edu/cod/conf/">CSUN</a> next week, please come find one of us at the Mozilla booth! <br /><br />Thanks for reading.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com5tag:blogger.com,1999:blog-3113982014951840128.post-61435388866353961572009-02-27T12:53:00.004-05:002009-02-27T13:26:54.381-05:00ARIA User Agent Implementation Task ForceToday we kicked off the <a href="http://lists.w3.org/Archives/Public/wai-xtech/2009Feb/0199.html">first meeting</a> for the "ARIA User Agent Implementation Task Force" (UAI-TF). Our primary <a href="http://www.w3.org/WAI/PF/aria-ua-task-force">goal</a> is browser compatibility in our WAI-ARIA implementations for DHTML accessibility -- vital stuff. The group is very lean and today there was representation from browser people at Microsoft and Mozilla.<br /><br />If you are an Opera, Webkit, or Safari accessibility developer please consider joining us.<br /><br />Aside: a big shout out for <a href="http://accessgarage.wordpress.com/">Aaron Leventhal</a> for planting the seeds of this, and for the excellent and detailed document he created to guide browser developers on ARIA implementation.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com5tag:blogger.com,1999:blog-3113982014951840128.post-31368574743874727242009-02-24T15:02:00.006-05:002009-03-02T21:53:57.033-05:00Call for review: WAI-ARIAIf you are somehow involved in supporting interactive web content, please consider reviewing one or more of these W3C documents related to accessibility.<br /><br />For everyone involved in web content, this is the document with actual "Last Call Working Draft" status:<br />Accessible Rich Internet Applications (WAI-ARIA) 1.0 - Last Call Working Draft<br /><a href="http://www.w3.org/TR/wai-aria/">http://www.w3.org/TR/wai-aria/</a><br /><br />For web application ninjas:<br />WAI-ARIA Best Practices - updated Working Draft<br /><a href="http://www.w3.org/TR/wai-aria-practices/">http://www.w3.org/TR/wai-aria-practices/</a><br /><br />For browser developers:<br />WAI-ARIA User Agent Implementation Guide - First Public Working Draft<br /><a href="http://www.w3.org/TR/wai-aria-implementation/">http://www.w3.org/TR/wai-aria-implementation/</a><br /><br />It is important that these documents are understandable and consistent. The deadline for having an impact via your comments is April 17th, 2009. Official channel is: public-pfwg-comments@w3.org (see this <a href="http://lists.w3.org/Archives/Public/w3c-wai-ig/2009JanMar/0037.html">email</a> for details).David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com8tag:blogger.com,1999:blog-3113982014951840128.post-90781393658286224192009-01-30T10:40:00.007-05:002009-01-30T10:54:02.197-05:00Go ahead browser, make my day...This command (I use OS X) takes the patches in my mercurial queue (which I tend to name bug-#) and opens a browser tab for each.<br /><br /><code>hg qseries | sed 's/bug-/https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=/' | xargs open</code><br /><br />There's probably 94 better ways to do that but meh, and barely blog worthy perhaps... but this way I'll have a record of the command for when I forget. And smart people can add comments showing me better ways :)<br /><br />I guess having FF restore my session is a good one.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com11tag:blogger.com,1999:blog-3113982014951840128.post-81412818343013828202009-01-24T09:32:00.007-05:002009-01-26T21:57:57.527-05:007 thingsI think <a href="http://eduspaces.net/stevelee/">Steve Lee</a> was first to tag me with this fun 7 things meme.<br /><br /><span style="font-weight: bold;">My Seven</span><br /><ol><li>I lived most of my childhood on a family goat farm in rural Ontario, Canada. I loved fetching buckets of water for the goats and watching them drink deeply. One incredibly clever goat tried to murder me in various ways, but really it was sort of a <a href="http://en.wikipedia.org/wiki/The_Pink_Panther#Cato_Fong">Pink Panther - Cato</a> relationship. Thankfully "Jody" was lousy at martial arts.<br /></li><li>I now live in Toronto, a male in a house dominated by 3 strong women.<br /></li><li>I'm a soccer player in the land of hockey.<br /></li><li>The first computer I touched was one of the very first IBM PCs which my friends father had brought home from Geac. That night I lay awake thinking of that cool monochrome text glowing on the display. After a few years of selling farm-fresh free range chicken eggs my first computer was a <a href="http://en.wikipedia.org/wiki/TRS-80_Color_Computer">Radio Shack CoCo2</a>, and some 'older kid' I knew from the store gave me his old 6809 assembler programming cartridge. He had started dating. I saved my programs on cassette tape.<br /></li><li>Yeah I was on the highschool programming team one year. Being the youngest, when we got our task list our leader gave me an easy one and I wrote out the algorithm on paper for when it came time to type it in (we shared one computer). We ran out of time working on the first task (the hardest). There is a lesson here somewhere.</li><li>My career plan was to build strategy based computer games until a guest lecturer introduced me to the world of accessibility technology.</li><li>I still have that country-boy trust in people.<br /></li></ol><span style="font-weight: bold;">The Rules</span><br /><ol><li>Link to your original tagger(s) and list these rules in your post.</li><li>Share seven facts about yourself in the post.</li><li>Tag seven people at the end of your post by leaving their names and the links to their blogs.</li><li>Let them know they’ve been tagged.</li></ol>Passing it on, in no particular order:<br /><ol><li><a href="http://blogs.sun.com/wwalker/">Willie Walker</a><br /></li><li><a href="http://higginsforpresident.net/">Pete Higgins</a></li><li><a href="http://pyre.third-bit.com/blog/">Greg Wilson</a><br /></li><li><a href="http://bitstructures.com/">Simon Bates</a></li><li><a href="http://outstandingelephant.com/">Chris Hoffman</a><br /></li><li><a href="http://www.gwmicro.com/blog/">Jono DiCarlo<br /></a></li><li><a href="http://www.flaper87.org/">Flavio Percoco Premoli</a><br /></li></ol>David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com4tag:blogger.com,1999:blog-3113982014951840128.post-3754437130956990722009-01-10T20:12:00.004-05:002009-01-10T21:24:30.919-05:00Joining the Mozilla Accessibility TeamFor my readers, all 5 of you, I want you to know the r<a href="http://accessgarage.wordpress.com/2009/01/08/looking-back-and-forward/">u</a>m<a href="https://wiki.mozilla.org/WeeklyUpdates/2009-01-05">o</a>rs are truthy. The <a href="http://www.mozilla.com/">Mozilla Corporation</a> has come to an arrangement with the <a href="http://atrc.utoronto.ca/">ATRC</a> that will allow me to spend some time focusing on helping Marco and Surkov with Firefox accessibility!<br /><br />We're scattered nicely. Marco works in Germany, and Surkov in Siberia. I'm working out of <a href="http://blog.internetnews.com/skerner/2008/06/mozilla-is-not-techs-worst-wor.html">Mozilla's Toronto office</a> where, in one week, I've managed to spill shawarma juice on Beltzner's chair, ramble irrelevantly and incoherently to Jeff Muizelaar about C++ object layout compiler differences[1], and order the sandwich melt instead of the dry rub ribs at <a href="http://www.cluck.ca/">CGL</a>. What was I thinking?<br /><br />Things I've learned: some spouses do in fact let their husbands brew beer in the kitchen, seriousness combined with fun is serious fun, having an <a href="http://www.flickr.com/photos/menros/2889840087/">espresso machine in the office</a> is genius, the world stops for women's five pin bowling, if an Olympian uses chemical enhancements then they should compete in an evening gown, and finally, I'm going to learn a lot. I'm used to working with smart people... but these guys are sick!<br /><br />[1] My current bed time reading is "Inside the C++ Object Model" by Lippman. I wish I'd read this 12 years ago. I recommend it to anyone interested in C++ object layout, compiler optimizations and so on... fantastic... but my next book choice will be fiction.David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com7tag:blogger.com,1999:blog-3113982014951840128.post-79860126322887121692008-12-30T09:15:00.027-05:002009-02-07T09:57:08.675-05:00ATRC ARIA efforts in 2008With funding from the Mozilla Foundation and IBM, in 2008 the <a href="http://atrc.utoronto.ca/">ATRC</a> continued to help communities add support for accessible DHTML using <a href="http://www.w3.org/WAI/PF/aria/">ARIA</a>. This meant a whole whack of little things, including frequent emails and chats, and some other things, like code commits, testing infrastructure work, document editing, and committee work.<br /><br />My primary role was to help make sure Web2.0 communities knew about ARIA, and to help them with any implementation work through what amounted to a mutual-mentorship. I'll discuss deliverables related to this evangelism-ish goal first, and then move on to some more specific community work. Then come back at the end with some brief thoughts on the evangelism aspect.<div><div>Initially and iteratively I worked with Aaron Leventhal on strategic ways to spread awareness of ARIA. At some point we realized developers needed a place to go for sample code, and hey, code talks, baby.<br /><br /><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://codetalks.org/source/website/docs/codetalks.png" alt="codetalks logo" border="0"><font class="Apple-style-span" style="font-weight: bold;">codetalks.org<br /></font><br />We started to see additional people and communities providing great <a href="http://wiki.codetalks.org/wiki/index.php/ARIA_Resources">resources about ARIA</a>. As specification and best practices work continued in the W3C, we realized it would be nice to provide a central hub for all the ARIA activity and evangelism that was happening "in the wild". Together this community created a 'vendor neutral' wiki: <a href="http://wiki.codetalks.org/">wiki.codetalks.org</a>, as well as an <a href="http://svn.codetalks.org/">svn code repository</a>, and <a href="http://bugs.codetalks.org/">bug database</a>. These sites are hosted by the ATRC, and we plan to continue hosting them as long as they are useful. Aaron created a <a href="http://groups.google.com/group/free-aria">free-aria</a> google group for, not surprisingly, the free discussion of ARIA. Oh, by the way, any readers good with logo design?<br /><br /><font class="Apple-style-span" style="font-weight: bold;">W3C PFWG ARIA team<br /></font><br />Given my <a href="http://david.atrc.utoronto.ca/mozgrant/dojo-final-report.html">prior work on Dojo Toolkit Accessibility</a>, and my colleague Joseph Scheuhammer's work on the <a href="http://www.fluidproject.org/">Fluid Project</a>, we were invited to join the ARIA specification efforts as 'invited experts'. Our input to the discussions came primarily from actually <font class="Apple-style-span" style="font-style: italic;">trying things out</font>, and our work on Dojo and jQuery.<br /><br /><font class="Apple-style-span" style="font-weight: bold;">DHTML Style Guide<br /></font><br />The ATRC continues to attend and contribute to the <a href="http://dev.aol.com/dhtml_style_guide">DHTML Style Guide</a> meetings which address keyboard bindings for DHTML widgets.<br /><br /><font class="Apple-style-span" style="font-weight: bold;">jQuery UI<br /></font><br />A core contributor is leading the ARIA effort here, and I feel it is in good hands, with a <a href="http://groups.google.com/group/jquery-a11y">decent community effort</a>; so in a sense, "job done!" The community has not finished of course, but we've got a pretty clear roadmap ahead, and we've made some good progress. As a major redesign (in UI) moves forward so does the opportunity for further ARIA support. We've added the<a href="http://mindforks.blogspot.com/2008/11/using-attr-for-aria-in-jquery-ui.html"> core ARIA suppor</a>t and it takes about a day or two to add ARIA support, with automated tests, to a jQuery UI 'plugin' (think 'widget' or 'component'). Adding polished keyboard interaction can take longer. The ATRC's <a href="http://fluidproject.org/">Fluid Project</a> team, having already worked through a lot of keyboard and navigation issues on top of jQuery, is now moving this know-how upstream and working with the jQuery UI community.<br /><br /><font class="Apple-style-span" style="font-weight: bold;">Dojo (Dijit)<br /></font><br />We continued to work with the Dojo community on dijit, the mature and accessible widget set, with a focus toward helping sustainability. Joseph was our main resource for this work and initially focussed on grid widget keyboard accessibility (non-trivial) and spent a fair amount of time doing QA, including manual tests. Later he created automated UI tests using a robot currently found in Dojo's test harness: <a href="http://trac.dojotoolkit.org/browser/util/trunk/doh">D.O.H.</a> and has <a href="http://bugs.dojotoolkit.org/ticket/5984">worked to move ARIA smarts into Dojo core</a>.</div><div><br /></div><div><font class="Apple-style-span" style="font-weight: bold;">ARIA Evangelism<br /></font><br />One thing I've struggled with in the evangelism part of our grant is knowing when we are successful, or even when we are finished. Other browsers and toolkits are adding ARIA support, but how much did the ATRC help make that happen? Did we use the right amount of <a href="http://lists.apple.com/archives/Accessibility-dev/2008/Mar/msg00005.html">pressure</a>? Did we help enough? I think we'll never know.<br /><br />One thing I do know is that the Mozilla Foundation likes to <font style="font-weight: bold;">seed</font> activities that fit its wonderful manifesto/mission. I can say that in this respect the Foundation has been very successful here, and that the ATRC continues to pursue and win funding that will allow us to continue to focus efforts on open web accessibility now and into the future.<br /><div><br /></div><div>Finally, all this experience is helping me in my <a href="http://mindforks.blogspot.com/2009/01/joining-mozilla-accessibility-team.html">current gecko work</a>!</div></div></div>David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com5tag:blogger.com,1999:blog-3113982014951840128.post-89807093815025056152008-12-17T09:47:00.005-05:002008-12-18T14:57:28.085-05:00Browser Accessibility Acid Test?We're on our way! Thanks to funding from the Mozilla Foundation, Eitan Isaacson has built a tool for comparing browser accessibility implementations. His latest post titled "<a href="http://monotonous.org/2008/12/17/apples-and-pairs/">Apples and Pairs</a>" provides some examples of its usage.<br /><br />Thank you Eitan!David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com4tag:blogger.com,1999:blog-3113982014951840128.post-38251850295643513852008-12-11T12:52:00.009-05:002008-12-19T11:12:37.108-05:00My WordleWhat should the alt text be? I think I give up...<br /><br /><a href="http://www.wordle.net/gallery/wrdl/378984/mindforks-dec-2008" title="Wordle: mindforks-dec-2008"><br /><img style="border: medium solid ; margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 237px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIX2EEvhSOz9U1PIxJolOV0C9ziebqRbBCmqdHkjiG0v5vbIEQlK2LNlSIRTyicX7zgWMO_T1a6Yoxhyfv00hM4RIXDuUiu3Wauv311Jpxrjw6Qt18XVZqQFKwcstkW38VJG7yr2FjwOk/s400/wordle-dec-2009.png" alt="a splatter of words" id="BLOGGER_PHOTO_ID_5278593822058052786" border="0" /><br /></a><br />Image made by <a href="http://www.wordle.net/">http://www.wordle.net/</a>David Bolterhttp://www.blogger.com/profile/02025500422245702937noreply@blogger.com3