Go to page: 1 2 3 ...Last Page
Collapse All or Click on Date icon

3

Sep

2010.2 Release Schedule

Source: NVDA

Written by: jteh on Fri, 03 Sep 2010 00:44:12 -0500

We're finally drawing very near to the end of the NVDA 2010.2 release cycle. It's been a bit longer than I hoped, but I think the wait was justified and worthwhile.

We will release according to the guidelines documented in ReleaseProcess. All developers and translators should familiarise themselves with this document, which I updated earlier today.

Following is the tentative release schedule for 2010.2:

  • beta1: 13 September
  • rc1: 13 October
  • final: 20 October

Of course, this will be altered if any major problems are encountered.

Thanks to everyone who has contributed to this release!

2

Sep

Why Can't Microsoft Build a Screen Reader into Windows?

Source: Jantrid

Written by: Jamie Teh on Thu, 02 Sep 2010 21:02:00 -0500
As Windows screen reader users will know, there is no screen reader included in Windows. Instead, users requiring a screen reader must obtain and install a third party product. Yes, there is Microsoft Narrator, but even Microsoft know that this is hardly worthy of the name "screen reader". :)

A few years ago, Apple revolutionised the accessibility industry by building a fully fledged screen reader, VoiceOver, right into Mac OS X. Ever since, many have asked why Microsoft can't do the same for Windows. Many are angry with Microsoft for this continued lack of built-in accessibility, some using it as support for the "why Apple is better than Microsoft" argument.

Here's some food for thought. I'm not sure Microsoft could do this even if they wanted to; their hands are probably tied in a legal sense. If they did, they could very likely be sued by assistive technology vendors for anti-competitive conduct, just as they have been sued several times concerning their bundling of Internet Explorer with Windows. Once again, Apple don't have to be concerned with this because there wasn't an existing screen reader on Mac OS X and they don't have the dominant position in the market.

I have no evidence for this argument. Perhaps I'm wrong, but history suggests that it is highly likely that I'm not.

Even as one of the lead developers of NVDA, I'm first and foremost a blind user who wants the best possible access, both for myself and other blind users. As such, I would very much welcome a screen reader built into Windows. Competition is good. A built-in screen reader doesn't mean that other screen readers can't exist. If the built-in solution were good enough, then there would be no need for NVDA to exist. If it weren't, NVDA would drive accessibility to improve through innovation and competition.

2

Sep

JAWS, IE/Firefox and TITLE Attributes

Source: AccessibilityWATCH

Written by: m.adams on Thu, 02 Sep 2010 18:39:47 -0500

I’ve run across a few issues and concerns lately that talk about JAWS reading the attributes in IE but not in Firefox.  I had to spend a little time researching this one but here is the gist of it…</p> <p>The fact that IE works is actually an old IE bug and some dumb luck.  You’ll notice in IE that if there is only a title attribute it will be read by JAWS, if there is a title attribute and alt-text the alt-text is read by JAWS.</p> <p>2.  JAWS defaults to read alt and not Title attributes however this can be modified through the configuration manager…Set Options–>HTML Options–>Links–>Use Title; this will change your settings until you change them back which I don’t recommend but it is a good way to show that your code is working in this manner.</p> <p>The real fix here would be to add alt-text which should be picked up by default with JAWS 10 in Firefox.</p> <p>Just as another possibility you can do an about:config in Firefox and make sure browser.chrome.toolbar_tips is set to true or you won’t see the tool tips at all.</p> <p>Long story short here is that we’ve all gotten so used to something not working right that we came to think of the behaviour as being correct.  Bad on us.</p> <div class="comments"><a target="blank" href="http://www.accessibilitywatch.com/?p=248">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">1</p> <p class="month">Sep</p> </div> <div class="title"> <h4>Apple announcements For September 1, 2010</h4> <h4 id="blogname" name="ATMac">Source: <a href="http://atmac.org/">ATMac</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/atmac/~3/EA-UqmnsEQ4/apple-announcements-for-september-1-2010" target="_blank">Ricky Buchanan</a> on Wed, 01 Sep 2010 18:10:42 -0500 </span> <div class="post_content"><p><img style=" float: left; padding: 4px; margin: 0 7px 2px 0;" src="http://atmac.org/wp-content/uploads/apple-black.png" alt="Apple logo in reflective black" title="apple-black" width="128" height="128" class="size-full wp-image-582 alignleft" />There was an Apple event today which unveiled some exciting updated products. Unfortunately my own Mac has a broken video card and is at the local Apple shop for urgent repairs, but rather than delay telling you I am going to post this abbreviated account from my iPad (which has been invaluable while my computer has been away!).</p> <p>Announcements included:</p> <dl> <dt><a href="http://apple.com/ipodtouch">Upgraded iPod Touch</a></dt> <dd>This iPod Touch has all the cool stuff recently added to the iPhone, including FaceTime video calling, the high definition Retina Display, and it’s own forward and rear facing cameras.</dd> <dt><a href="http://www.apple.com/ipodnano/">Upgraded iPod Nano With Touch-screen</a></dt> <dd>The iPod Nano now sports the same type of touchscreen that the other iDevices have, including VoiceOver and most of the same other <a href="http://www.apple.com/accessibility/itunes/vision.html">accessibility features</a> found on the iPhone and iPads.</dd> <dt><a href="http://apple.com/ipodshuffle">Upgraded iPod Shuffle</a></dt> <dd>This new iPod Shuffle sports physical buttons again, as well as VoiceOver, and support for playlists.</dd> <dt><a href="http://apple.com/appletv">Upgraded Apple TV</a></dt> <dd>it’s smaller, sleeker, and black! Seriously, though, if you are an ardent Mac/Apple user this looks like a great way to integrate your setup with your existing TV/stereo system.</dd> <dt><a href="http://apple.com/itunes">iTunes 10</a></dt> <dd>iTunes 10 has a social network feature and TV shows can now be rented. And, of course, it works with the newly upgraded devices.</dd> </dl> <p>That’s all from me until my Mac is back in service, which should be early next week. What do you think about the accessibility implications of these announcements?</p> <p>- Ricky Buchanan</p> <p><h3>Share this</h3> <p>Do you know somebody else who would find this interesting or useful? Please forward it to them.</p> <p>Did somebody forward this post to you? Visit <a href="http://atmac.org">ATMac</a> and subscribe to receive the posts for free!</p> <p>This article was originally published at "<a href="http://atmac.org/apple-announcements-for-september-1-2010">Apple announcements For September 1, 2010</a>" and is copyright (C) Ricky Buchanan 2010. Please do not republish without permission.</p></p> <p>Related posts:</p><ul><li><a href="http://atmac.org/accessible-itunes-accessible-ipod-apples-september-special-event" rel="bookmark" title="Permanent Link: Accessible iTunes, Accessible iPod - Apple’s September Special Event">Accessible iTunes, Accessible iPod - Apple’s September Special Event</a></li><li><a href="http://atmac.org/wwdc-10-accessibility-discussion" rel="bookmark" title="Permanent Link: WWDC ‘10 Announcements: Accessibility Implications">WWDC ‘10 Announcements: Accessibility Implications</a></li><li><a href="http://atmac.org/talking-ipod-shuffle" rel="bookmark" title="Permanent Link: Talking iPod Shuffle">Talking iPod Shuffle</a></li></ul><div> <a href="http://feeds.feedburner.com/~ff/atmac?a=EA-UqmnsEQ4:uMsdLK8dYkI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/atmac?i=EA-UqmnsEQ4:uMsdLK8dYkI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=EA-UqmnsEQ4:uMsdLK8dYkI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/atmac?i=EA-UqmnsEQ4:uMsdLK8dYkI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=EA-UqmnsEQ4:uMsdLK8dYkI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/atmac?i=EA-UqmnsEQ4:uMsdLK8dYkI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=EA-UqmnsEQ4:uMsdLK8dYkI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/atmac?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=EA-UqmnsEQ4:uMsdLK8dYkI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/atmac?d=yIl2AUoC8zA" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/atmac/~4/EA-UqmnsEQ4" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/atmac/~3/EA-UqmnsEQ4/apple-announcements-for-september-1-2010">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">1</p> <p class="month">Sep</p> </div> <div class="title"> <h4>Another release of odt2braille - Braille from Oracle Open Office & OpenOffice.org</h4> <h4 id="blogname" name="Peter Korn's Weblog">Source: <a href="http://blogs.sun.com/korn">Peter Korn's Weblog</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blogs.sun.com/korn/entry/another_release_of_odt2braille_braille" target="_blank">korn</a> on Wed, 01 Sep 2010 15:59:17 -0500 </span> <div class="post_content"><p> Hot on the heels of the <a href="http://blogs.sun.com/korn/entry/openoffice_now_prints_to_braille">first release of odt2braille</a> comes the new release: <a href="http://odt2braille.sourceforge.net/news.html">version 0.0.2 of odt2braille</a>. This new release includes <a href="http://odt2braille.sourceforge.net/downloads.html#0.0.2">many features and enhancements</a>, as well as new and updated braille translation tables in several languages (Catalan, Danish grade 2, Portuguese grade 2, and Spanish). This release also includes an updated <a href="http://odt2braille.sourceforge.net/support.html">user manual</a> and a <a href="http://odt2braille.sourceforge.net/support.html#screencasts">6 part video tutorial</a> on how to use it. <p> When combined with either <a href="http://www.oracle.com/us/products/applications/open-office/index.html">Oracle Open Office</a> or <a href="http://www.openoffice.org/">OpenOffice.org</a>, odt2braille provides a powerful Braille embossing solution - even thought it is only at version 0.0.2... Great stuff! <div class="comments"><a target="blank" href="http://blogs.sun.com/korn/entry/another_release_of_odt2braille_braille">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">1</p> <p class="month">Sep</p> </div> <div class="title"> <h4>Firefox 4 beta - AT Vendor Alert</h4> <h4 id="blogname" name="mindforks">Source: <a href="http://mindforks.org/">mindforks</a> </h4> </div> <span class="footnote"> Written by: <a href="http://mindforks.blogspot.com/2010/09/firefox-4-beta-at-vendor-alert.html" target="_blank">David Bolter</a> on Wed, 01 Sep 2010 10:43:00 -0500 </span> <div class="post_content">Hello 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.<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3113982014951840128-7967624418634338773?l=mindforks.blogspot.com" alt="" /></div> <div class="comments"><a target="blank" href="http://mindforks.blogspot.com/2010/09/firefox-4-beta-at-vendor-alert.html">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">26</p> <p class="month">Aug</p> </div> <div class="title"> <h4>ATMac Is Now An iTunes Affiliate</h4> <h4 id="blogname" name="ATMac">Source: <a href="http://atmac.org/">ATMac</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/atmac/~3/x3p0pRLkN2g/atmac-now-itunes-affiliate" target="_blank">Ricky Buchanan</a> on Thu, 26 Aug 2010 21:41:18 -0500 </span> <div class="post_content"><p><img src="http://atmac.org/wp-content/uploads/atmac-150x150.png" alt="ATMac Logo" title="atmac" width="150" height="150" class="size-thumbnail wp-image-4594 alignleft" />Greetings Dear Readers,</p> <p>The good news is that we have been accepted into the iTunes affiliate program! This means that whenever you use a link on ATMac to buy an app from the iTunes <a href="http://atmac.org/goto/appstore">App Store</a>- like <a href="http://atmac.org/goto/proloquo2go">Proloquo2Go</a> - a small percent of the price will be paid to ATMac and hence to me. The price for you as a user is the same, and it means that I can get some money to help ATMac grow by doing things like paying other writers, and paying myself for some of the time ATMac takes to run.</p> <p>ATMac is already an affiliate for <a href="http://www.tkqlhce.com/click-3505317-10497177" target="_blank" onclick="pageTracker._trackPageview("/goal/affiliate/macspeechdictate");">MacSpeech Dictate</a><img src="http://www.ftjcfx.com/image-3505317-10497177" width="1" height="1" border="0" alt="" style="border:0" class="tracker" /> and <a href="http://atmac.org/goto/amazon">Amazon.com</a>, and the income from those things helps me a lot.</p> <p>Because I want you to know that opinions here are not influenced by any income opportunities - at least as far as human psychology permits - at the end of any post with affiliate links you will see this disclaimer:</p> <p><em>Some of the links in this article are affiliate links. This means that if you purchase the products that I've linked to I'll get a commission - a small percentage of the sale price. It won't cost you anything and it will help to support me and ATMac.</em></p> <p>Or one with very similar wording but telling you exactly which product links are the affiliate ones. You may already have noticed these around on posts about MacSpeech Dictate, for example. </p> <p>I will never lie to you about my opinion of a product and I will never take money to change what I write (for example, I have in the past been offered several thousand dollars to put hidden advertisements here, disguised as my own opinion - I declined). I don’t want any of you to ever doubt the integrity of what’s written here - the fact that ATMac is trusted is very important to me.</p> <p>If you have any questions about this, please leave me a comment or <a href="http://atmac.org/contact">contact me</a> privately.</p> <p>- Ricky Buchanan</p> <p><em>Some of the links in this article are affiliate links. This means that if you purchase the products that I've linked to I'll get a commission - a small percentage of the sale price. It won't cost you anything and it will help to support me and ATMac.</em></p> <p><h3>Share this</h3> <p>Do you know somebody else who would find this interesting or useful? Please forward it to them.</p> <p>Did somebody forward this post to you? Visit <a href="http://atmac.org">ATMac</a> and subscribe to receive the posts for free!</p> <p>This article was originally published at "<a href="http://atmac.org/atmac-now-itunes-affiliate">ATMac Is Now An iTunes Affiliate</a>" and is copyright (C) Ricky Buchanan 2010. Please do not republish without permission.</p></p> <p>Related posts:</p><ul><li><a href="http://atmac.org/new-look-new-pages" rel="bookmark" title="Permanent Link: New look, New pages">New look, New pages</a></li><li><a href="http://atmac.org/five-things-you-dont-know-about-me-and-atmac" rel="bookmark" title="Permanent Link: Five Things You Don’t Know About Me And ATMac">Five Things You Don’t Know About Me And ATMac</a></li><li><a href="http://atmac.org/weekend-roundup-connect-with-atmac" rel="bookmark" title="Permanent Link: Weekend Round-Up: Connect With ATMac">Weekend Round-Up: Connect With ATMac</a></li></ul><div> <a href="http://feeds.feedburner.com/~ff/atmac?a=x3p0pRLkN2g:jIgrEcb5Ex0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/atmac?i=x3p0pRLkN2g:jIgrEcb5Ex0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=x3p0pRLkN2g:jIgrEcb5Ex0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/atmac?i=x3p0pRLkN2g:jIgrEcb5Ex0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=x3p0pRLkN2g:jIgrEcb5Ex0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/atmac?i=x3p0pRLkN2g:jIgrEcb5Ex0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=x3p0pRLkN2g:jIgrEcb5Ex0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/atmac?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=x3p0pRLkN2g:jIgrEcb5Ex0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/atmac?d=yIl2AUoC8zA" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/atmac/~4/x3p0pRLkN2g" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/atmac/~3/x3p0pRLkN2g/atmac-now-itunes-affiliate">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">26</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Mono Accessibility 2.1</h4> <h4 id="blogname" name="Mario Carrion">Source: <a href="http://blog.carrion.ws/">Mario Carrion</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blog.carrion.mx/2010/08/26/mono-accessibility-2-1/" target="_blank">Mario Carrion</a> on Thu, 26 Aug 2010 09:09:37 -0500 </span> <div class="post_content"><div> <a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.carrion.mx%2F2010%2F08%2F26%2Fmono-accessibility-2-1%2F"><br /> <img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.carrion.mx%2F2010%2F08%2F26%2Fmono-accessibility-2-1%2F&source=mariocarrion&style=normal&service=bit.ly" height="61" width="50" /><br /> </a> </div> <p> <a href="http://www.flickr.com/photos/mariocarrion/4886351160/" title="Candles by Mario Carrion, on Flickr"><img src="http://farm5.static.flickr.com/4136/4886351160_d6472b6aea_m.jpg" width="240" height="160" alt="Candles" class="aligncenter" /></a> </p> <p> Last <a href="http://mono-project.com/Accessibility:_Release_Notes_2.1">Tuesday</a>, we presented <a href="http://mono-project.com/Accessibility">Mono Accessibility</a> 2.1. We worked really hard on this release. Our main goals were, among other things, to improve our <a href="http://msdn.microsoft.com/en-us/library/ms753107.aspx">UI Automation</a> Client API implementation, polish the interaction with at-spi2, better Moonlight accessibility and to handle custom and client-side providers. The great work made by all the contributors was the reason this release accomplished those goals. </p> <h3>What happened since last time?</h3> <p> Explaining this release is kind of hard if you are not involved in Mono Accessibility, and even more difficult if you’re not involved in Accessibility at all. However, if you’re familiar with Mono and .NET you are, also, aware of the possibility of developing .NET-based applications that run on both platforms with minor* changes or no changes at all. But, before the implementation of Mono Accessibility, there was something missing: all those applications were not accessible. </p> <p> This meant two things. First Atk-based Assistive Technologies (ATs) were not able to access Windows Forms nor Silverlight applications. Second .NET-based ATs using UI Automation were not able to run on Mono. Making them useless for people requiring Accessibility to interact with software running Mono on Linux**. </p> <p> After the implementation of Mono Accessibility, we have: </p> <ul> <li>UI Automation API Framework</li> <li>Bridge between UI Automation and ATK</li> </ul> <p> This way ATs using either Accessibility Technology, Atk or UI Automation, will be able to interact with Gtk+, Windows Forms and Silverlight applications, with no changes at all. </p> <h3>This is what happened</h3> <p> In the following video: (if you are using a RSS reader click <a href="http://www.youtube.com/watch?v=NwMXYXGincE">this link</a>) <a href="http://live.gnome.org/Gcalctool">gcalctool</a> is launched and an application, using UI Automation Client API, interacts with it, clicking buttons “2″, “+”, “3″ and “=”. </p> </p> <p> Then <a href="http://github.com/mattguo/UIAExplorer">UIA Explorer</a>, a .NET- based application using UI Automation Client API, also interacts with gcalctool, if you pay attention you will notice that UIA Explorer also lists all other Gtk+ based applications, such as Nautilus and the GNOME Panel. </p> <p> Finally Mozilla Firefox is executed (both Novell Moonlight with Accessibility Support and Novell Moonlight Accessibility Extensions plugins were installed prior running it) and an Atk-based Accessility Debugger, <a href="http://live.gnome.org/Accerciser">Accerciser</a>, is launched to interact with the Moonlight application. </p> <p> </p> <p>The source code used to test GCalctool is the following:</p> <pre>// gmcs -pkg:mono-uia gcalc.cs && mono gcalc.exe using System; using System.Linq; using System.Windows.Automation; namespace Mono.A11y.Examples { public class GCalc { public static void Main (string []args) { AndCondition cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Window), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Calculator")); var gcalc = AutomationElement.RootElement.FindFirst (TreeScope.Children, cond); cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Button), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Add")); var addButton = gcalc.FindFirst (TreeScope.Descendants, cond); cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Button), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Numeric 2")); var Button2 = gcalc.FindFirst (TreeScope.Descendants, cond); cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Button), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Numeric 3")); var Button3 = gcalc.FindFirst (TreeScope.Descendants, cond); cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Button), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Calculate result")); var calcButton = gcalc.FindFirst (TreeScope.Descendants, cond); cond = new AndCondition (new PropertyCondition (AutomationElementIdentifiers.ControlTypeProperty, ControlType.Button), new PropertyCondition (AutomationElementIdentifiers.NameProperty, "Calculate result")); var resultText = gcalc.FindFirst (TreeScope.Descendants, cond); // Clicking buttons InvokePattern addInvoke = (InvokePattern) addButton.GetCurrentPattern (InvokePattern.Pattern); InvokePattern Invoke2 = (InvokePattern) Button2.GetCurrentPattern (InvokePattern.Pattern); InvokePattern Invoke3 = (InvokePattern) Button3.GetCurrentPattern (InvokePattern.Pattern); InvokePattern calcInvoke = (InvokePattern) calcButton.GetCurrentPattern (InvokePattern.Pattern); System.Console.WriteLine ("Pressing "2""); System.Threading.Thread.Sleep (500); Invoke2.Invoke (); System.Console.WriteLine ("Pressing "+""); System.Threading.Thread.Sleep (500); addInvoke.Invoke (); System.Console.WriteLine ("Pressing "3""); System.Threading.Thread.Sleep (500); Invoke3.Invoke (); System.Console.WriteLine ("Pressing "=""); System.Threading.Thread.Sleep (500); calcInvoke.Invoke (); } } }</pre> <h3>Where do I get it?</h3> <p> If you installed <a href="http://blog.carrion.mx/2010/03/03/accessibility-in-moonlight/">Mono Accessibility 2.0</a> an option to upgrade should be available now, if not Mono Accessibility is available for a variety of Linux distributions, including:</p> <ul> <li>openSUSE 11.2 <a href="http://download.opensuse.org/repositories/Mono:/UIA/openSUSE_11.2/mono-uia.ymp">1-Click Install</a></li> <li>Ubuntu Karmic Koala <a href="https://edge.launchpad.net/~mono-a11y/+archive/releases">Package Archive on Launchpad</a></li> <li>Fedora 12 <a href="http://download.opensuse.org/repositories/Mono:/UIA/Fedora_12/ Repository">openSUSE Build Service<a /></a></li> </ul> <p>Moonlight applications require the following extra steps:</p> <ul> <li>Install the updated <em>xulrunner</em> package from the above repositories. <em>(Required until patch on <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=480317">bug #480317</a>) gets approved.</em></li> <li>Install Novell Moonlight with Accessibility Support for <a href="http://www.mono-a11y.org/archive/moonlight-plugins/2.3.99.0accessibility/novell-moonlight-2.3.99.0accessibility-i586.xpi">32 bit</a> or <a href="http://www.mono-a11y.org/archive/moonlight-plugins/2.3.99.0accessibility/novell-moonlight-2.3.99.0accessibility-x86_64.xpi"> 64 bit</a>.</li> <li>Install <a href="http://www.mono-a11y.org/archive/moonlight-a11y-plugins/2.1/novell-moonlight-a11y-2.1-noarch.xpi">Novell Moonlight Accessibility Extensions</a></li> </ul> <p>Have fun and if you find any bug with this release, please <a href="https://bugzilla.novell.com/enter_bug.cgi?product=UI%20Automation file bugs">file it</a>. If you want to contribute or need specific assistance, please join our <a href="http://forge.novell.com/mailman/listinfo/mono-a11y">mailing list</a>, or drop in <a href="irc://irc.gimp.org/mono-a11y">#mono-a11y</a> on irc.gimp.org.</p> <p> * <em>Of course this depends on what APIs you are using. If you want to know how compatible is your application try <a href="http://www.mono-project.com/MoMA">MoMA</a>.</em><br /> ** <em>Notice however, even though Mono is muti platform and UI Automation is included in both Mono and Silverlight, in order to allow other ATs running on other platforms, different than Linux, you will require to implement an specific bridge to talk to you OS Accessibility Layer.</em></p> <div class="comments"><a target="blank" href="http://blog.carrion.mx/2010/08/26/mono-accessibility-2-1/">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">24</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Mono Accessibility 2.1 Released</h4> <h4 id="blogname" name="decriptor">Source: <a href="http://www.decriptor.com">decriptor</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/DecriptorsBlog/~3/OiQgRCJwOIM/" target="_blank">sshaw</a> on Tue, 24 Aug 2010 11:32:39 -0500 </span> <div class="post_content"><p>We just released our first 2.x series update this week.  This release brings a 127 bug fixes.</p> <p>Over the last several months a fair amount of attention has been paid to improving at-spi2 as well.  For those that don’t know what at-spi2 is its the next generation of <a title="ATSPI" href="http://en.wikipedia.org/wiki/Assistive_Technology_Service_Provider_Interface" target="_blank">Assistive Technology Service Provider Interface</a>.  The new at-spi2 using dbus in an effort to remove corba and bonobo from the gnome stack.</p> <p>A huge benefit of this work is that kde will be able to use it without pulling in a bunch of gnome dependencies allowing for a clean desktop independent accessibility infrastructure.</p> <p>Some release details:</p> <ul> <li>Improved compatibility with AT-SPI2, including fixes and performance.</li> <li>More compatibility with Silverlight Accessibility for UIA Clients.</li> <li>Caching improvements in UIA Client API.</li> <li>Support for custom providers and client-side providers.</li> </ul> <p>As well as where you can find the packages:</p> <ul> <li>openSUSE 11.2 - <a href="http://download.opensuse.org/repositories/Mono:/UIA/openSUSE_11.2/mono-uia.ymp">1-Click Install</a></li> <li>Ubuntu Karmic Koala - <a href="https://edge.launchpad.net/~mono-a11y/+archive/releases">Package Archive on Launchpad</a></li> <li>Fedora 12 - <a href="http://download.opensuse.org/repositories/Mono:/UIA/Fedora_12/">Repository on openSUSE Build Service</a></li> <li><a href="http://mono-a11y.org/releases/2.1/sources/">Source tarballs</a></li> </ul> <p>For more details – <a title="UIA Team Blog" href="http://www.mono-a11y.org/2010/08/mono-accessibility-2-1-released/" target="_blank">The UIA Team Blog</a></p> <img src="http://feeds.feedburner.com/~r/DecriptorsBlog/~4/OiQgRCJwOIM" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/DecriptorsBlog/~3/OiQgRCJwOIM/">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">19</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Wanted: Mozilla Linux Accessibility Developer</h4> <h4 id="blogname" name="mindforks">Source: <a href="http://mindforks.org/">mindforks</a> </h4> </div> <span class="footnote"> Written by: <a href="http://mindforks.blogspot.com/2010/08/wanted-mozilla-linux-accessibility.html" target="_blank">David Bolter</a> on Thu, 19 Aug 2010 10:34:00 -0500 </span> <div class="post_content">The 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.<div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/3113982014951840128-7876643748002547694?l=mindforks.blogspot.com" alt="" /></div> <div class="comments"><a target="blank" href="http://mindforks.blogspot.com/2010/08/wanted-mozilla-linux-accessibility.html">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">16</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Comparing iPads, Netbooks, and Auggies for AAC Use</h4> <h4 id="blogname" name="ATMac">Source: <a href="http://atmac.org/">ATMac</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/atmac/~3/7fBrfCLjVwE/ipad-netbook-compare-for-aac" target="_blank">Ricky Buchanan</a> on Mon, 16 Aug 2010 23:48:01 -0500 </span> <div class="post_content"><p><img style=" float: left; padding: 4px; margin: 0 7px 2px 0;" src="http://atmac.org/wp-content/uploads/ipad-held-122x150.jpg" alt="ipad-held" title="ipad-held" width="122" height="150" class="alignleft size-thumbnail wp-image-4739" />RJ Cooper has put together two very helpful pages for people thinking about purchasing an iPad for use as an AAC device.</p> <p>The first page <a href="http://rjcooper.com/ipad-vs-auggie/">compares an iPad with RJ Cooper’s own “Auggie” device</a>, the second <a href="http://rjcooper.com/ipad-vs-netbook/index.html">compares an iPad and a Netbook</a>.</p> <p><div style=' border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;'><img src="http://atmac.org/wp-content/uploads/rj-cooper-ipad-case-232x300.jpg" alt="Girl holding a black leather case with a shoulder strap" title="rj-cooper-ipad-case" width="232" height="300" class="size-medium wp-image-4807" /><p>RJ Cooper's daughter models his iPad case with shoulder strap</p></div>I think his comparison pages are great and can certainly very helpful for people deciding what device to purchase, but I do have a few comments about the comparison tables:</p> <ul> <li>Contrary to what RJ wrote, the iPad <em>can</em> be used with a stylus. It needs to be a stylus (such as the Pogo brand) which is designed for use with iPad/iPhone/iPod Touch type devices, but there are many of these on the market now. We have <a href="http://atmac.org/ipod-touch-ideas-for-stylus-and-mouth-stick-users">discussed stylus and mouth stick users</a> previously on ATMac.</li> <li>RJ writes that the menu button (the “Home” button on the iPad’s front) is too accessible. I agree completely, but note that this is easily remedied in many cases by adapting the case you have the iPad in, reversing the iPad in its case (so the home button is not exposed) or covering the button with a piece of plastic. I have a forthcoming video article on this topic which will display these solutions in action.</li> <li>The keyboard is listed as “On-screen or keyboard dock <u>and</u> Apple keyboard”. The keyboard dock has a built-in Apple keyboard and is one option. An Apple bluetooth (wireless) keyboard is another option, but in fact the iPad will work fine with virtually any standard Bluetooth keyboard (one that doesn’t need a driver loaded on your computer before it works). With the Apple brand bluetooth keyboard there are a few additional functions available via the keyboard’s function keys, but other than that any brand of bluetooth keyboard is fine.</li> <li>Web page capability is listed as “Standard pages only” which is quite vague. Any web page will work fine except that pages with Flash or Silverlight content won’t load the Flash/Silverlight sections. None of the web sites I regularly visit have any Flash/Silverlight content except for advertisements (and I’m happy the ads don’t load!) so I have never found this a problem, but if there are web pages that you <em>must</em> be able to access through the device it’s worth trying these out on an iPad when you visit your local Apple store just to make sure they’re OK.</li> </ul> <p>RJ Cooper has some other pages you might find useful also:</p> <p><a href="http://rjcooper.com/ipad-pointer/index.html">Making Pointer Work On The iPad</a> has a technique similar to that previously described in our article <a href="http://atmac.org/accessing-the-ipad-mouthsticks-and-styluses">Accessing the iPad: Mouthsticks and Styluses</a>. The theory behind the two was the same, but Paul’s implementation here was less bulky and having the foil at the end means the end of the pointer was still rounded. If you have access to conductive foam (your local electronics store can probably help), a third option was discussed on LifeKludger’s article <a href="http://lifekludger.net/2010/05/07/diy-touchscreen-stylus-using-conductive-foam/">DIY Touchscreen Stylus using Conductive foam</a>.</p> <p>RJ Sells an <a href="http://rjcooper.com/ipad-carry-case/index.html">iPad Carry Case</a> in black and red, it’s a sturdy leather case with a shoulder strap - perfect for AAC users. I’d love to have one of these to carry my own iPad in!</p> <p>The <a href="http://rjcooper.com/ipad-bumper-case/index.html">iPad Bumper Case</a> is perfect for attaching the iPad to mounting devices in a removable fashion, and the Bumper Case provides a little more protection to the device also.</p> <p>The <a href="http://rjcooper.com/ipad-speaker/index.html">iPad Speaker</a> is a small battery-powered bluetooth speaker which can easily be attached to the iPad’s back, or to a stand or the outside of a case and significantly boosts the iPad’s volume. Again, perfect for AAC users.</p> <p>RJ also offers an <a href="http://rjcooper.com/ipad-stand/index.html">iPad Stand</a> perfect for positioning the iPad on a table, desk, or wheelchair tray, and an a small mounting arm available in articulating and non-articulating versions and very adaptable for use as an <a href="http://rjcooper.com/ipad-mount/index.html">iPad Mount</a>.</p> <p>If you’re an iPad AAC user, or a parent/supporter/teacher of such, what accessories do you use?</p> <p>– Ricky Buchanan</p> <p><h3>Share this</h3> <p>Do you know somebody else who would find this interesting or useful? Please forward it to them.</p> <p>Did somebody forward this post to you? Visit <a href="http://atmac.org">ATMac</a> and subscribe to receive the posts for free!</p> <p>This article was originally published at "<a href="http://atmac.org/ipad-netbook-compare-for-aac">Comparing iPads, Netbooks, and Auggies for AAC Use</a>" and is copyright (C) Ricky Buchanan 2010. Please do not republish without permission.</p></p> <p>Related posts:</p><ul><li><a href="http://atmac.org/accessibility-and-the-ipad-first-impressions" rel="bookmark" title="Permanent Link: Accessibility and the iPad: First Impressions">Accessibility and the iPad: First Impressions</a></li><li><a href="http://atmac.org/ipad-assistive-technology-disability-round-up" rel="bookmark" title="Permanent Link: iPad Assistive Technology/Disability Round-Up">iPad Assistive Technology/Disability Round-Up</a></li><li><a href="http://atmac.org/ipadiphoneipod-touch-aac-apps-rundown" rel="bookmark" title="Permanent Link: iPad/iPhone/iPod Touch AAC Apps Rundown">iPad/iPhone/iPod Touch AAC Apps Rundown</a></li></ul><div> <a href="http://feeds.feedburner.com/~ff/atmac?a=7fBrfCLjVwE:ndHaQr6TXmI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/atmac?i=7fBrfCLjVwE:ndHaQr6TXmI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=7fBrfCLjVwE:ndHaQr6TXmI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/atmac?i=7fBrfCLjVwE:ndHaQr6TXmI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=7fBrfCLjVwE:ndHaQr6TXmI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/atmac?i=7fBrfCLjVwE:ndHaQr6TXmI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=7fBrfCLjVwE:ndHaQr6TXmI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/atmac?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=7fBrfCLjVwE:ndHaQr6TXmI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/atmac?d=yIl2AUoC8zA" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/atmac/~4/7fBrfCLjVwE" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/atmac/~3/7fBrfCLjVwE/ipad-netbook-compare-for-aac">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">15</p> <p class="month">Aug</p> </div> <div class="title"> <h4>ShoutOUT Speech To Text Messaging For iOS</h4> <h4 id="blogname" name="ATMac">Source: <a href="http://atmac.org/">ATMac</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/atmac/~3/gOm8PrWjJxI/shoutout-speech-to-text-messaging-for-ios" target="_blank">Ricky Buchanan</a> on Sun, 15 Aug 2010 06:46:09 -0500 </span> <div class="post_content"><p><img style=" float: left; padding: 4px; margin: 0 7px 2px 0;" src="http://atmac.org/wp-content/uploads/shoutout-150x150.jpg" alt="shoutout" title="shoutout" width="150" height="150" class="alignleft size-thumbnail wp-image-4809" /> <div> <div> <p><a href="http://atmac.org/goto/shoutout">ShoutOUT</a> is a messaging application for text messages (SMSs), and Facebook and Twitter updates. It allows typed messages to be entered for free, messages using speech-to-text are charged for via in-app purchases beginning at 50 voice credits for US$1.99.</p> <p>I couldn’t test this app because it only works for USA customers who already have a USA mobile phone number, but it seems to have some good reviews from users.</p> </div> </div> <div> <div> <div><span>Amplify’d from <a rel="clipsource" target="_blank" title="http://shout-out.mobi/iphone.php" href="http://shout-out.mobi/iphone.php">shout-out.mobi</a></span></div> </div> <div> <blockquote cite="http://shout-out.mobi/iphone.php"> <table cellpadding="0" cellspacing="0"> <tr> <td> <p><a href="http://atmac.org/goto/shoutout">ShoutOUT</a> allows you to send and receive messages, with full texting capabilities including:</p> <ul> <li>Inbox and outbox</li> <li>Discussions threaded by recipient</li> <li>Status updates on Facebook and Twitter</li> <li>Push notification of incoming messages</li> <li>Thumbnail images for all your contacts</li> <li>Shake-to-Clear</li> </ul> </td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://shout-out.mobi/iphone.php"><table cellpadding="0" cellspacing="0"> <tr> <td> <div align="center"><img src="http://content6.clipmarks.com/clog_clip_cache/amplify.com/2119FA4F-600B-4238-9C36-904F23AB6F74/250AC67D-EA0E-4725-A42C-2B5A21679E74" alt="ShoutOUT Splash Screen" width="211" height="368" /></div> </td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://shout-out.mobi/iphone.php"><table cellpadding="0" cellspacing="0"> <tr> <td> <p>ShoutOUT is a full-featured messaging app with voice dictation. Speak your text messages or Facebook and Twitter updates and see the results in seconds—there’s no faster way to create and send messages.</p> <div> <p>ShoutOUT allows you to send and receive text messages at a cost far lower than the standard rates charged by mobile operators. For outbound messages, keyboard entered messages are free and unlimited, and you pay only pennies per message for voice-generated texts. All inbound messages are free and unlimited.</p> </div> <p><span><a rel="clipsource" target="_blank" title="http://shout-out.mobi/iphone.php" href="http://shout-out.mobi/iphone.php">Read more at shout-out.mobi</a></span></td> </tr> </table> </blockquote> </div> <div></div> </div> <div>See this Amp at <a href="http://amplify.com/u/8pgq">http://amplify.com/u/8pgq</a></div> <p><br/></p> <p><h3>Share this</h3> <p>Do you know somebody else who would find this interesting or useful? Please forward it to them.</p> <p>Did somebody forward this post to you? Visit <a href="http://atmac.org">ATMac</a> and subscribe to receive the posts for free!</p> <p>This article was originally published at "<a href="http://atmac.org/shoutout-speech-to-text-messaging-for-ios">ShoutOUT Speech To Text Messaging For iOS</a>" and is copyright (C) Ricky Buchanan 2010. Please do not republish without permission.</p></p> <p>Related posts:</p><ul><li><a href="http://atmac.org/text-to-speech-or-speech-to-text" rel="bookmark" title="Permanent Link: “Text to Speech” or “Speech to Text”?">“Text to Speech” or “Speech to Text”?</a></li><li><a href="http://atmac.org/speech-to-text-dictation-software-for-os-x" rel="bookmark" title="Permanent Link: Speech-to-Text: Dictation software for Mac OS X">Speech-to-Text: Dictation software for Mac OS X</a></li><li><a href="http://atmac.org/text-to-speech-in-languages-other-than-english" rel="bookmark" title="Permanent Link: Text-to-Speech in Languages other than English">Text-to-Speech in Languages other than English</a></li></ul><div> <a href="http://feeds.feedburner.com/~ff/atmac?a=gOm8PrWjJxI:84sUtCudh8Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/atmac?i=gOm8PrWjJxI:84sUtCudh8Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=gOm8PrWjJxI:84sUtCudh8Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/atmac?i=gOm8PrWjJxI:84sUtCudh8Y:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=gOm8PrWjJxI:84sUtCudh8Y:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/atmac?i=gOm8PrWjJxI:84sUtCudh8Y:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=gOm8PrWjJxI:84sUtCudh8Y:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/atmac?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=gOm8PrWjJxI:84sUtCudh8Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/atmac?d=yIl2AUoC8zA" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/atmac/~4/gOm8PrWjJxI" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/atmac/~3/gOm8PrWjJxI/shoutout-speech-to-text-messaging-for-ios">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">13</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Experiments with Dojo 1.5 Deferreds and Json Referencing</h4> <h4 id="blogname" name="Gary Bishop">Source: <a href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/">Gary Bishop</a> </h4> </div> <span class="footnote"> Written by: <a href="http://wwwx.cs.unc.edu/~gb/wp/blog/2010/08/13/experiments-with-dojo-1-5-deferreds-and-json-referencing/" target="_blank">gb</a> on Fri, 13 Aug 2010 10:13:34 -0500 </span> <div class="post_content"><p>Our BigWords project needs Sets which are lists of Games and SetOrders which sequence the Sets. <a href="http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/">Json References</a> seem perfect for this but the examples I could find online did not conform to my experience with the way it actually works.</p> <p>At the same time I decided to experiment with the new implementation of Deferreds in Dojo 1.5 with the .then method. I may be abusing or misusing them below; please tell me how to do better if you see any abuse.</p> <p>I put the code in in a Gist at: <a href="http://gist.github.com/522994">http://gist.github.com/522994</a></p> <p>The bottom line is Json Refs work great with JsonRestStore but not quite like the examples I see online. The code below demonstrates constructing a store full of refs, then accessing it, and getting the refs lazily loaded both manually and by a grid.</p> <p>Second bottom line is the new Deferreds implementation in Dojo 1.5 rocks. I think chains of asynchronous calls are much more readable and maintainable this way.</p> <p><span></span></p> <pre> /* This is an experiment with Json Referencing in our uow databases which are derived from JsonRestStore. When I run setup, it creates a database with a single record containing refs to the first record in each game database. This is a prototype for sets in Big Words. When I run restore, it reads the record and instantiates the refs. From this experiment I have determined that the restoration happens when you call loadItem and that the db's being referenced have to be open. But contrary to the examples I've seen, you don't have to do the loadItem call on the store the ref points at; rather it is fine (thankfully) to do the loadItem on the store containing the ref. Further contradiction of the examples I have seen shows that for an object like: item = { set: 'set1', game: { $ref: '/data/AlphabetSoupLessons/4c24c449229fe83f6e000062' } } doing db.getValue(item, 'game') does NOT dereference game. It simply returns the ref. But db.getValue(item.game, 'name') will dereference and return the name field of the game. */ dojo.require('dojox.grid.DataGrid'); // first a few helpers /* let's try monkey patching MongoStore to use deferreds. These are candidates for inclusion in MongoStore. */ dojo.ready(function() { var M = uow.data.MongoStore; // deferred version of fetch M.prototype.Fetch = function(args) { var def = new dojo.Deferred(); dojo.mixin(args, { onComplete: def.callback, onError: def.errback }); this.fetch(args); return def; }; // deferred version of Save M.prototype.Save = function() { var def = new dojo.Deferred(); this.save({ onComplete: def.callback, onError: def.errback }); return def; }; }); /* try deleting all the records in a db the async way Note that I don't appear to need an explicit Deferred in here. Just returning the result of the "then" method appears to be enough. */ function emptyDb(db) { return db.Fetch( {query: {} } ).then(function(items) { dojo.forEach(items, function(item) { db.deleteItem(item); }); }); } /* open a store for each collection given, return the array of stores It appears that I do need an explicit Deferred in here. I don't see how to otherwise deal with the multiple deferred calls ending at different times. Is there some cool extension of dojo.map to do this? Or some way to use dojo.when? */ function openCollections(collections) { var def = new dojo.Deferred(); var toGo = collections.length; var res = []; dojo.forEach(collections, function(collection, index) { uow.getDatabase({ database: 'BigWords', collection: collection, mode: 'r' }).then(function(db) { res[index] = db; toGo -= 1; if (toGo <= 0) { def.callback(res); } }); }); return def; } /* create a reference to first item in the given stores How should I handle empty stores? res is going to have undef for those */ function readFirst(stores) { var def = new dojo.Deferred(); var toGo = stores.length; var res = []; dojo.forEach(stores, function(store, index) { store.Fetch({ query: {}, count: 1 }).then(function(items) { res[index] = store.target + items[0]._id; toGo -= 1; if (toGo <= 0) { def.callback(res); } }); }); return def; } // game collections allGames = ['TextTilesLessons', 'AlphabetSoupLessons', 'SortActivityLessons', 'SpellBinderLessons', 'WordBuilderLessons', 'SliceAndDiceLessons']; /* the following functions are edited into the dojo.ready call at the bottom to choose which one runs. You need to run setup first to build the store with the references. */ // create an array of references in a database function setup() { var db1; // step 1: get the 1st db uow.getDatabase({database: 'BigWords', collection: 'gbTry'}).then(function(db) { db1 = db; // step 2: empty the 1st db return emptyDb(db1); }).then(function() { // step 3: open the lesson dbs return openCollections(allGames); }).then(function(stores) { // step 4: create a ref to the first item in each db return readFirst(stores); }).then(function(items) { // step 5: save the references in db1 dojo.forEach(items, function(item, i) { db1.newItem({ set: 'set1', seq: i, game: { $ref: item } }); }); // step 6: save the new records return db1.Save(); }).then(function() { console.log('setup all done'); }); } // read the array of references and look at them function restore() { var db1; // step 1: get the 1st db uow.getDatabase({database: 'BigWords', collection: 'gbTry'}).then(function(db) { db1 = db; // setp 2: open the other stores (necessary for dereferencing to work) return openCollections(allGames); }).then(function(stores) { // step 3: fetch the records return db1.Fetch({ query: { set: 'set1' } }); }).then(function(items) { // step 4: load the individual array items dojo.forEach(items, function(i) { db1.loadItem( { item: i.game, onItem: function(item) { console.log('loaded item', item); } }); }); }); }; /* experiment with getValue Contrary to what the doc says in several places, db1.getValue(item, 'game') does NOT do the dereference. I have to do db1.getvalue(item.game, 'name') to get the deference done. In other words access a field in the deferred object. I can't see how the examples given in various blog posts could possibly work given the code in getValue in dojox.data.ServiceStore.js. */ function tryget() { var db1; // step 1: get the 1st db uow.getDatabase({database: 'BigWords', collection: 'gbTry'}).then(function(db) { db1 = db; // setp 2: get the other stores return openCollections(allGames); }).then(function(stores) { // step 3: fetch the records return db1.Fetch({ query: { set: 'set1' } }); }).then(function(items) { console.log('rawrecord', items); // get the first one var item = items[0]; console.log('game', item.game); // shows up as a $ref console.log('loaded', db1.isItemLoaded(item.game)); // not loaded console.log('wrong', db1.getValue(item, 'game')); console.log('value', db1.getValue(item.game, 'name')); // does the deref console.log('after deref', db1.getValue(item, 'game')); }); } /* read the array of references and look at them with a grid I need that formatter on game in order to force the lazy loading. The other possibility is the dot-path extension to JsonRestStore.getValue proposed by medryx in his BeanStore. With it we could just set field to 'game.name' */ function display() { var db1; // step 1: get the 1st db uow.getDatabase({database: 'BigWords', collection: 'gbTry'}).then(function(db) { db1 = db; // setp 2: get the other stores return openCollections(allGames); }).then(function(stores) { // step 3: build the grid var grid = new dojox.grid.DataGrid( { store: db1, structure: [ { name: 'Set', field: 'set', width: '20%' }, { name: 'Seq', field: 'seq', width: '20%' }, { name: 'Name', field: 'game', width: '60%', formatter: function(game) { return db1.getValue(game, 'name'); } } ], query: { set: 'set1' } } ); dojo.place(grid.domNode, 'editorGoesHere', 'only'); grid.startup(); dojo.connect(grid, 'onDblClick', function() { var selected = grid.selection.getSelected()[0]; console.log('selected', selected); } ); }); }; dojo.ready(display); </pre> <div class="comments"><a target="blank" href="http://wwwx.cs.unc.edu/~gb/wp/blog/2010/08/13/experiments-with-dojo-1-5-deferreds-and-json-referencing/">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">12</p> <p class="month">Aug</p> </div> <div class="title"> <h4>New InDesign Accessibility Video</h4> <h4 id="blogname" name="Accessibility">Source: <a href="http://blogs.adobe.com/accessibility/">Accessibility</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blogs.adobe.com/accessibility/2010/08/new-indesign-accessibility-video.html" target="_blank">akirkpat</a> on Thu, 12 Aug 2010 18:33:12 -0500 </span> <div class="post_content"><div> <a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblogs.adobe.com%2Faccessibility%2F2010%2F08%2Fnew-indesign-accessibility-video.html"><br /> <img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblogs.adobe.com%2Faccessibility%2F2010%2F08%2Fnew-indesign-accessibility-video.html&style=normal" height="61" width="50" /><br /> </a> </div> <p>Accessibility in PDF documents exported from InDesign is an are that many InDesign users are increasingly interested in. In response, we’ve worked with the Adobe Government team and Michael Murphy, Adobe Certified Expert, to offer a video that demonstrates InDesign accessibility best practices in action. </p> <p>View the video (with closed captioning): <a href="http://tv.adobe.com/watch/accessibility-adobe/preparing-indesign-files-for-accessibility/">Preparing InDesign Files for Accessibility</a></p> <div class="comments"><a target="blank" href="http://blogs.adobe.com/accessibility/2010/08/new-indesign-accessibility-video.html">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">12</p> <p class="month">Aug</p> </div> <div class="title"> <h4>The Dragon speaks to the Oracle... Oracle Open Office Writer that is</h4> <h4 id="blogname" name="Peter Korn's Weblog">Source: <a href="http://blogs.sun.com/korn">Peter Korn's Weblog</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blogs.sun.com/korn/entry/the_dragon_speaks_to_the" target="_blank">korn</a> on Thu, 12 Aug 2010 17:20:50 -0500 </span> <div class="post_content"><p> Last month <a href="http://blogs.sun.com/korn/www.Nuance.com">Nuance</a> released version 11 of their voice recognition and dictation application <a href="http://shop.nuance.com/DRHM/store?Action=DisplayDragonProductsHomePage&SiteID=nuanceus&Locale=en_US&ThemeID=2335200">Dragon Naturally Speaking</a>. Among the host of new features in this release is one of particular interest to Oracle Open Office (and OpenOffice.org) users: support for dictation, correction, selection, and playback in Writer. More information can be found in <a href="http://www.nytimes.com/2010/07/29/technology/personaltech/29pogue.html?_r=1&pagewanted=all">David Pogue's NY Times article</a>, and <a href="http://www.informationweek.com/news/smb/hardware_software/showArticle.jhtml?articleID=226300293">Daniel Dern's article in Information Week</a>. <div class="comments"><a target="blank" href="http://blogs.sun.com/korn/entry/the_dragon_speaks_to_the">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">10</p> <p class="month">Aug</p> </div> <div class="title"> <h4>"A Conceptual Guide to OpenOffice.org 3" - in DAISY audio book form</h4> <h4 id="blogname" name="Peter Korn's Weblog">Source: <a href="http://blogs.sun.com/korn">Peter Korn's Weblog</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blogs.sun.com/korn/entry/a_conceptual_guide_to_openoffice" target="_blank">korn</a> on Tue, 10 Aug 2010 10:42:37 -0500 </span> <div class="post_content"><p> Author <a href="http://www.amazon.com/s?ie=UTF8&rh=n%3A283155%2Cp_27%3AR.c%20Gabriel%20Gurley&field-author=R.%2C%20Gabriel%20Gurley&page=1">R. Gabriel Gurley</a> has published the book "A Conceptual Guide to OpenOffice.org 3" (<a href="http://wiki.services.openoffice.org/wiki/Special:BookSources/9780977899173">ISBN 978-0-9778991-7-3</a>), along with a rich set of <a href="http://wiki.services.openoffice.org/wiki/Documentation/OpenOffice.org_Conceptual_Guides">ancillary material</a> including an <a href="http://documentation.openoffice.org/conceptualguide/OOo_education_presentation.zip">education presentation</a>, the <a href="http://documentation.openoffice.org/conceptualguide/OpenOfficeOrg3_Course_Package.iso">companion course packages</a>, and the <a href="http://documentation.openoffice.org/conceptualguide/OpenOfficeOrg3LessonFiles.zip">lesson files</a> from the book. <p> Earlier this year this book was made available as a <a href="http://documentation.openoffice.org/conceptualguide/conceptualguideOOo3_audiobook_0-1alpha.zip">DAISY format audio book</a>, free for anyone to download and use. <div class="comments"><a target="blank" href="http://blogs.sun.com/korn/entry/a_conceptual_guide_to_openoffice">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">10</p> <p class="month">Aug</p> </div> <div class="title"> <h4>ReadHear DAISY Talking Book Player</h4> <h4 id="blogname" name="ATMac">Source: <a href="http://atmac.org/">ATMac</a> </h4> </div> <span class="footnote"> Written by: <a href="http://feedproxy.google.com/~r/atmac/~3/bfR4-KFsFOM/readhear-daisy-talking-book-player" target="_blank">Ricky Buchanan</a> on Tue, 10 Aug 2010 09:52:07 -0500 </span> <div class="post_content"><p><img src="http://atmac.org/wp-content/uploads/readhear-150x141.jpg" alt="readhear" title="readhear" width="150" height="141" class="alignleft size-thumbnail wp-image-4804" /> <div> <div> <p>This DAISY player includes text highlighting, not currently available in the free Olearia player and also reads more formats than Olearia can.</p> <p>The new features come at a steep price though: ReadHear Mac does have a 30 day trial version available, but at US$119 the cost may be more than most users are willing (or able) to pay.</p> </div> </div> <div> <div> <div><span>Amplify’d from <a rel="clipsource" target="_blank" title="http://www.gh-accessibility.com/products/readhear_mac" href="http://www.gh-accessibility.com/products/readhear_mac">www.gh-accessibility.com</a></span></div> </div> <div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"> <table cellpadding="0" cellspacing="0"> <tr> <td>ReadHear™ Mac</td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"><table cellpadding="0" cellspacing="0"> <tr> <td> <p>ReadHear™ Mac is the first ever fully-featured Digital Talking Book player for the Mac! The great accessibility features available in the gh PLAYER™ are <strong>no longer limited to the PC.</strong> ReadHear Mac provides excellent benefits to those who enjoy and appreciate learning and listening to all types of books, articles, and documents. </p> </td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"><table cellpadding="0" cellspacing="0"> <tr> <td> <div align="center"><img src="http://content9.clipmarks.com/clog_clip_cache/amplify.com/6018A932-24FF-492B-954B-969B07874EFF/B288DB6A-13AB-4E8B-8256-5CEAF39F0DDC" alt="ReadHear Mac window" width="384" height="214" /></div> </td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"><table cellpadding="0" cellspacing="0"> <tr> <td><UL> <li><strong>Support for MathML, NIMAS 1.1., & DAISY/<br /> NISO 2005.</strong> ReadHear Mac is the first DAISY DTB<br /> player that supports all updated specifications on<br /> the Macintosh.</li> <p></UL></td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"><table cellpadding="0" cellspacing="0"> <tr> <td><UL> <li><strong>Bookshare, RFB&D AudioPlus, Educational<br /> Publishers, e-Pub, & DRM Supported soon!</strong></li> <p></UL></td> </tr> </table> </blockquote> <div></div> <blockquote cite="http://www.gh-accessibility.com/products/readhear_mac"><table cellpadding="0" cellspacing="0"> <tr> <td> <p>Keyboard shortcuts can be used for<br /> quicker access to menu items and<br /> functions. Text highlighting is also<br /> used to help the reader follow along<br /> as the book is being read. The Library<br /> feature organizes and stores all of your<br /> books for future use and will even find<br /> books that are already on your Mac.</p> <p>Use the Sidebar to quickly jump to<br /> parts of a book by selecting Headings,<br /> Pages, Bookmarks, and Search.<br /> Additional audio navigation methods<br /> include: heading, page, sentence,<br /> and word mode. Add a bookmark<br /> whenever you like in the book and<br /> include your own additional notes.<br /> Features of ReadHear™ Mac<br /> ReadHear Mac automatically checks<br /> for updates to ensure you always have<br /> the most up-to-date version. Once a<br /> book is opened, playback automatically<br /> starts. You can then choose to pause,<br /> go forward, go backwards, or repeat<br /> content. ReadHear Mac uses the<br /> voices that come standard with<br /> your Macintosh. Built-in spelling<br /> and dictionary features augment<br /> your reading and comprehension<br /> experience.Additionally, ReadHear<br /> Mac has been well-tested for use with<br /> VoiceOver.</p> <p><span><a rel="clipsource" target="_blank" title="http://www.gh-accessibility.com/products/readhear_mac" href="http://www.gh-accessibility.com/products/readhear_mac">Read more at www.gh-accessibility.com</a></span></td> </tr> </table> </blockquote> </div> <div></div> </div> <div>See this Amp at <a href="http://bit.ly/cPvTkY">http://bit.ly/cPvTkY</a></div> <p><br/></p> <p><h3>Share this</h3> <p>Do you know somebody else who would find this interesting or useful? Please forward it to them.</p> <p>Did somebody forward this post to you? Visit <a href="http://atmac.org">ATMac</a> and subscribe to receive the posts for free!</p> <p>This article was originally published at "<a href="http://atmac.org/readhear-daisy-talking-book-player">ReadHear DAISY Talking Book Player</a>" and is copyright (C) Ricky Buchanan 2010. Please do not republish without permission.</p></p> <p>Related posts:</p><ul><li><a href="http://atmac.org/olearia-daisy-book-reader-for-leopard" rel="bookmark" title="Permanent Link: Olearia DAISY book reader for Leopard">Olearia DAISY book reader for Leopard</a></li><li><a href="http://atmac.org/voiceover-getting-started-for-leopard-diasybrailleaudio" rel="bookmark" title="Permanent Link: VoiceOver Getting Started for Leopard DAISY/Braille/audio">VoiceOver Getting Started for Leopard DAISY/Braille/audio</a></li><li><a href="http://atmac.org/iphoneipod-touch-the-ultimate-e-book-reader" rel="bookmark" title="Permanent Link: iPhone/iPod Touch: The Ultimate E-book Reader">iPhone/iPod Touch: The Ultimate E-book Reader</a></li></ul><div> <a href="http://feeds.feedburner.com/~ff/atmac?a=bfR4-KFsFOM:vgxKfij_0ok:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/atmac?i=bfR4-KFsFOM:vgxKfij_0ok:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=bfR4-KFsFOM:vgxKfij_0ok:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/atmac?i=bfR4-KFsFOM:vgxKfij_0ok:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=bfR4-KFsFOM:vgxKfij_0ok:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/atmac?i=bfR4-KFsFOM:vgxKfij_0ok:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=bfR4-KFsFOM:vgxKfij_0ok:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/atmac?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/atmac?a=bfR4-KFsFOM:vgxKfij_0ok:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/atmac?d=yIl2AUoC8zA" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/atmac/~4/bfR4-KFsFOM" height="1" width="1" /> <div class="comments"><a target="blank" href="http://feedproxy.google.com/~r/atmac/~3/bfR4-KFsFOM/readhear-daisy-talking-book-player">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">10</p> <p class="month">Aug</p> </div> <div class="title"> <h4>OpenOffice now prints to Braille embossers (courtesy the odt2braille extension)</h4> <h4 id="blogname" name="Peter Korn's Weblog">Source: <a href="http://blogs.sun.com/korn">Peter Korn's Weblog</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blogs.sun.com/korn/entry/openoffice_now_prints_to_braille" target="_blank">korn</a> on Tue, 10 Aug 2010 01:35:24 -0500 </span> <div class="post_content"><p> The <a href="http://blogs.sun.com/korn/">AEGIS funded</a> accessibility group at the <a href="http://www.kuleuven.be/english/">Katholieke Universiteit Leuven</a> have just <a href="http://odt2braille.sourceforge.net/doc/Persbericht_odt2braille_en_20100804b.pdf">announced odt2braille</a>, an open source <a href="http://www.openoffice.org/">OpenOffice</a> extension that enables users to print directly to a variety of Braille embossers, or to export into either <a href="http://www.daisy.org/projects/braille/braille_workarea/pef/pef-specification.html">PEF</a> or <a href="http://wiki.mobileread.com/wiki/BRF">BRF</a> formats. <p> You can learn more about the project at it's <a href="http://odt2braille.sourceforge.net/">sourceforge pages</a>, or <a href="http://odt2braille.sourceforge.net/downloads.html">download the early 0.0.1 release</a> (Windows only for now), or peruse <a href="http://odt2braille.svn.sourceforge.net/viewvc/odt2braille/Odt2BrailleAddOn/doc/odt2braille-user-doc.html">the manual</a>. And of course, being that this is an open source project, you can also <a href="http://odt2braille.sourceforge.net/develop.html">participate in development & localization</a> (where you may note that it has be largely translated into 7 languages already). <div class="comments"><a target="blank" href="http://blogs.sun.com/korn/entry/openoffice_now_prints_to_braille">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">10</p> <p class="month">Aug</p> </div> <div class="title"> <h4>Webinar on Planning an Accessibile Website</h4> <h4 id="blogname" name="OpenConcept Accessibility Threads">Source: <a href="http://openconcept.ca/topic/accessibility">OpenConcept Accessibility Threads</a> </h4> </div> <span class="footnote"> Written by: <a href="http://openconcept.ca/blog/mgifford/webinar_on_planning_an_accessibile_website" target="_blank">mgifford</a> on Tue, 10 Aug 2010 00:06:53 -0500 </span> <div class="post_content"><p><a href="http://zufelt.ca/">Everett Zufelt</a> & I have agreed to present a webinar entitled <a href="http://cwdo.org/planned_webinars.htm">Introduction to Accessibility and Planning for an Accessible Website</a>. We'll be posting links to the archive when it's up, but wanted to ensure that the presentations were available online (along with a PDF version) before it went live in case people wanted to follow along this way.</p> <p>This presentation is licensed under a Creative Commons Share-Alike license so please feel free to enhance/distribute it.</p> <p>For those that missed it there is now a <a href="http://onlineconferencingsystems.com/cwdo/">video archive of the presentation</a> available.</p> <p>Questions from the end of the presentation. I'm going to continue to edit/add to this list here:</p> <p> Q: Hello. Could you possible recommend some well designed websites to look at for inspiration please?<br /> A: Some good ones include <a href="http://webaim.org">WebAIM</a>, and the <a href="http://www.bbc.co.uk/accessibility/">BBC</a>. </p> <p> Q: What is the best Drupal tool to evaluate accessibility?<br /> Mike: There isn't really a need for a Drupal native accessibility checker. In most cases tools like <a href="http://wave.webaim.org/">WebAIM's WAVE</a> do just fine for Drupal, particularly with their <a href="http://wave.webaim.org/toolbar">Firefox plugin</a> which does a good job of evaluating admin pages too.<br /> Everett: The only thing I would add is that with some of the tools, where there is a page without anonymous access, a lot of the tools will allow you to copy and paste the pages' source code as apposed to going to the page itself.<br /> Automated tools do a lot of the "heavy lifting" - it can tell you if there is not a heading, but part of the evaluation process has to be done manually.<br /> </p> <p> Q: What is the state of tools support for WCAG 2.0, particularly for tables? Are tools like TinyMCE being tweaked to provide better support?<br /> Everett: There are a lot of other tools, whether content management systems, which are still catching up on 2.0 standards, and Drupal, which is one of the most accessible management systems around, so there's a process. Tools like TinyMCE or CKEditor both of those have made significant improvements to becoming more accessible - it still needs to be configured and set up properly<br /> Everett: One of the challenges, particularly from screen readers, is something called a rich reader application, such as you might have on a desktop. Users of older technology might find challenges even with accessibility, as their tools don't support that technology. </p> <p> Q: Hello. Any idea for when the Accessibility for Ontarians with Disabilities Act (AODA) will finish being defined?<br /> Mike: To the best of my knowledge, the government has given no indication when it is going to be enacted as legislation. Once it is, however, it will depend.<br /> </p> <p> Q: You talked about skip links earlier. what do you feel is best visible or not?<br /> Mike: Spip links should be visible on Focus - one should be able to go right to the content and skip the navigational elements.<br /> Everett: Skip Links should always be visible on a page. When someone is tabbing through a site, everything that is available on your site to be activated, everything should be able to be accessed with the "Tab" key on your keyboard, and that there should be some kind of visual prompt to indicate where your tab key has landed. Everything available with a mouse should be available through the tab key</p> <div class="comments"><a target="blank" href="http://openconcept.ca/blog/mgifford/webinar_on_planning_an_accessibile_website">Click here to comment on this article</a></div> </div> </div> <div class="single_post"> <div class="title_date"> <p class="days">6</p> <p class="month">Aug</p> </div> <div class="title"> <h4>WebSRT and HTML5 media accessibility</h4> <h4 id="blogname" name="Silvia Pfeiffer">Source: <a href="http://blog.gingertech.net/category/video-accessibility/">Silvia Pfeiffer</a> </h4> </div> <span class="footnote"> Written by: <a href="http://blog.gingertech.net/2010/08/07/websrt-and-html5-media-accessibility/" target="_blank">silvia</a> on Fri, 06 Aug 2010 20:09:13 -0500 </span> <div class="post_content"><p>On 23rd July, Ian Hickson, the HTML5 editor, <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-July/027386.html">posted an update to the WHATWG mailing list</a> introducing the first draft of a platform for accessibility for the HTML5 <video> element. The platform provides for captions, subtitles, audio descriptions, chapter markers and similar time-synchronized text both in-band (inside the video resource) and out-of-band (as external text files). Right now, the proposal only regards <video>, but I personally believe the same can be applied to the <audio> element, except we have to be a bit more flexible with the rendering approach. Anyway…</p> <p>What I want to do here is to summarize what was introduced, together with the improvements that I and some <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-July/027283.html">others</a> have proposed in <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-July/027339.html">follow-up</a> <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/027648.html">emails</a>, and list some of the media accessibility needs that we are not yet dealing with.</p> <p>For those wanting to only selectively read some sections, here is a clickable table of contents of this rather long blog post:</p> <ul> <li><a href="http://blog.gingertech.net#WebSRT">THE WebSRT TIMED TEXT FORMAT</a></li> <li><a href="http://blog.gingertech.net#track">ASSOCIATING EXTERNAL TIMED TEXT RESOURCES WITH A VIDEO</a></li> <li><a href="http://blog.gingertech.net#API">EXPOSING A LIST OF TimedTracks TO JAVASCRIPT</a></li> <li><a href="http://blog.gingertech.net#rendering">RENDERING TimedTracks</a></li> <li><a href="http://blog.gingertech.net#summary">SUMMARY AND FURTHER NEEDS</a></li> </ul> <h3>THE <a href="http://www.whatwg.org/specs/web-apps/current-work/websrt.html">WebSRT</a> TIMED TEXT FORMAT</h3> <p>The first and to everyone probably most surprising part is the new file format that is being proposed to contain out-of-band time-synchronized text for video. A new format was necessary after the <a href="http://wiki.whatwg.org/wiki/Timed_track_formats">analysis of all relevant existing formats</a> determined that they were either insufficient or hard to use in a Web environment.</p> <p>The new format is called <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#websrt-0">WebSRT</a> and is an extension to the existing <a href="http://en.wikipedia.org/wiki/SubRip">SRT SubRip</a> format. It is actually also the part of the new specification that I am personally most uncomfortable with. Not that WebSRT is a bad format. It’s just not sufficient yet to provide all the functionality that a good time-synchronized text format for Web media should. Let’s look at some examples.</p> <p>WebSRT is composed of a sequence of <em>timed text cues</em> (that’s what we’ve decided to call the pieces of text that are active during a certain time interval). Because of its ancestry of SRT, the text cues can optionally be numbered through. The content of the text cues is currently allowed to contain three different types of text: plain text, minimal markup, and anything at all (also called “metadata”).</p> <p>In its most simple form, a WebSRT file is just an ordinary old SRT file with optional cue numbers and only plain text in cues:</p> <pre> 1 00:00:15.00 --> 00:00:17.95 At the left we can see... 2 00:00:18.16 --> 00:00:20.08 At the right we can see the... 3 00:00:20.11 --> 00:00:21.96 ...the head-snarlers </pre> <p>A bit of a more complex example results if we introduce minimal markup:</p> <pre> 00:00:15.00 --> 00:00:17.95 A:start Auf der <i>linken</i> Seite sehen wir... 00:00:18.16 --> 00:00:20.08 A:end Auf der <b>rechten</b> Seite sehen wir die.... 00:00:20.11 --> 00:00:21.96 A:end <1>...die Enthaupter. 00:00:21.99 --> 00:00:24.36 A:start <2>Alles ist sicher. Vollkommen <b>sicher</b>. </pre> <p>and add to this a CSS to provide for some colors and special formatting:</p> <pre> ::cue { background: rgba(0,0,0,0.5); } ::cue-part(1) { color: red; } ::cue-part(2, b) { font-style: normal; text-decoration: underline; } </pre> <p>Minimal markup accepts <i>, <b>, <ruby> and a timestamp in <>, providing for italics, bold, and ruby markup as well as karaoke timestamps. Any further styling can be done using the CSS pseudo-elements ::cue and ::cue-part, which accept the features ‘color’, ‘text-shadow’, ‘text-outline’, ‘background’, ‘outline’, and ‘font’.</p> <p>Note that positioning requires some special notes at the end of the start/end timestamps which can provide for vertical text, line position, text position, size and alignment cue setting. Here is an example with vertically rendered Chinese text, right-aligned at 98% of the video frame:</p> <pre> 00:00:15.00 --> 00:00:17.95 A:start D:vertical L:98% 在左边我们可以看到... 00:00:18.16 --> 00:00:20.08 A:start D:vertical L:98% 在右边我们可以看到... 00:00:20.11 --> 00:00:21.96 A:start D:vertical L:98% ...捕蝇草械. 00:00:21.99 --> 00:00:24.36 A:start D:vertical L:98% 一切都安全. 非常地安全. </pre> <p>Finally, WebSRT files can be authored with abstract metadata inside cues, which practically means anything at all. Here’s an example with HTML content:</p> <pre> 00:00:15.00 --> 00:00:17.95 A:start <img src="pic1.png"/>Auf der <i>linken</i> Seite sehen wir... 00:00:18.16 --> 00:00:20.08 A:end <img src="pic2.png"/>Auf der <b>rechten</b> Seite sehen wir die.... 00:00:20.11 --> 00:00:21.96 A:end <img src="pic3.png"/>...die <a href="http://members.chello.nl/j.kassenaar/ elephantsdream/subtitles.html">Enthaupter</a>. 00:00:21.99 --> 00:00:24.36 A:start <img src="pic4.png"/>Alles ist <mark>sicher</mark>.<br/>Vollkommen <b>sicher</b>. </pre> <p>Here is another example with JSON in the cues:</p> <pre> 00:00:00.00 --> 00:00:44.00 { slide: intro.png, title: "Really Achieving Your Childhood Dreams" by Randy Pausch, Carnegie Mellon University, Sept 18, 2007 } 00:00:44.00 --> 00:01:18.00 { slide: elephant.png, title: The elephant in the room... } 00:01:18.00 --> 00:02:05.00 { slide: denial.png, title: I'm not in denial... } </pre> <p>What I like about WebSRT:</p> <ol> <li>it allows for all sorts of different content in the text cues – plain text is useful for <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Texted_Audio_Description">texted audio descriptions</a>, minimal markup is useful for subtitles, captions, karaoke and <a href="http://wiki.whatwg.org/wiki/Use_cases_for_API-level_access_to_timed_tracks#Chapter_Markers">chapters</a>, and “metadata” is useful for, well, any data.</li> <li>it can be easily encapsulated into media resources and thus turned into in-band tracks by regarding each cue as a data packet with time stamps.</li> <li>it is not verbose</li> </ol> <p>Where I think WebSRT still needs improvements:</p> <ol> <li>break with the SRT history: since WebSRT and SRT files are so different, WebSRT should get its own MIME type, e.g. text/websrt, and file extensions, e.g. .wsrt; this will free WebSRT for changes that wouldn’t be possible by trying to keep conformant with SRT</li> <li>introduce some header fields into WebSRT: the format needs <ul> <li>file-wide name-value metadata, such as author, date, copyright, etc</li> <li>language specification for the file as a hint for font selection and speech synthesis</li> <li>a possibility for style sheet association in the file header</li> <li>a means to identify which parser is required for the cues</li> <li>a magic identifier and a version string of the format</li> </ul> </li> <li>allow innerHTML as an additional format in the cues with the CSS pseudo-elements applying to all HTML elements</li> <li>allow full use of CSS instead of just the restricted features and also use it for positioning instead of the hard to understand positioning hints</li> <li>on the minimum markup, provide a neutral structuring element such as <span @id @class @lang> to associate specific styles or specific languages with a subpart of the cue</li> </ol> <p>Note that I undertook some experiments with an alternative format that is XML-based and called <a href="https://wiki.mozilla.org/Accessibility/Video_Text_Format">WMML</a> to gain most of these insights and determine the advantages/disadvantages of a xml-based format. The foremost advantage is that there is no automatism with newlines and displayed new lines, which can make the source text file more readable. The foremost disadvantages are verbosity and that there needs to be a simple encoding step to remove all encapsulating header-type content from around the timed text cues before encoding it into a binary media resource.</p> <h3><a href="http://www.whatwg.org/specs/web-apps/current-work/complete/video.html#the-track-element">ASSOCIATING EXTERNAL TIMED TEXT RESOURCES WITH A VIDEO</a></h3> <p>Now that we have a timed text format, we need to be able to associate it with a media resource in HTML5. This is what the <a href="http://www.whatwg.org/specs/web-apps/current-work/complete/video.html#the-track-element"><i><track> element</i></a> was introduced for. It associates the timestamps in the timed text cues with the timeline of the video resource. The browser is then expected to render these during the time interval in which the cues are expected to be active.</p> <p>Here is an example for how to associate multiple subtitle tracks with a video:</p> <pre> <video src="california.webm" controls> <track label="English" kind="subtitles" src="calif_eng.wsrt" srclang="en"> <track label="German" kind="subtitles" src="calif_de.wsrt" srclang="de"> <track label="Chinese" kind="subtitles" src="calif_zh.wsrt" srclang="zh"> </video> </pre> <p>In this case, the UA is expected to provide a text menu with a subtitle entry with these three tracks and their label as part of the video controls. Thus, the user can interactively activate one of the tracks.</p> <p>Here is an example for multiple tracks of different kinds:</p> <pre> <video src="california.webm" controls> <track label="English" kind="subtitles" src="calif_eng.wsrt" srclang="en"> <track label="German" kind="captions" src="calif_de.wsrt" srclang="de"> <track label="French" kind="chapter" src="calif_fr.wsrt" srclang="fr"> <track label="English" kind="metadata" src="calif_meta.wsrt" srclang="en"> <track label="Chinese" kind="descriptions" src="calif_zh.wsrt" srclang="zh"> </video> </pre> <p>In this case, the UA is expected to provide a text menu with a list of track kinds with one entry each for subtitles, captions and descriptions through the controls. The chapter tracks are expected to provide some sort of visual subdivision on the timeline and the metadata tracks are not exposed visually, but are only available through the JavaScript API.</p> <p>Here are several ideas for improving the <track> specification:</p> <ul> <li><track> is currently only defined for WebSRT resources – it should be made generic and then browsers can compete on the formats for which they provide support. WebSRT could be the baseline format. A @type attribute could be added to hint at the MIME type of the provided resource.</li> <li><track> needs a means for authors to mark certain tracks as active, others as inactive. This can be overruled by browser settings e.g. on @srclang and by user interaction.</li> <li>karaoke and lyrics are supported by WebSRT, but aren’t in the HTML5 spec as track kinds – they should be added and made visible like subtitles or captions.</li> </ul> <h3><a href="http://www.whatwg.org/specs/web-apps/current-work/complete/video.html#timed-tracks">EXPOSING A LIST OF TimedTracks TO JAVASCRIPT</a></h3> <p>This is where we take an extra step and move to a uniform handling of both in-band and out-of-band timed text tracks. Futher, a third type of timed text track has been introduced in the form of a MutableTimedTrack – i.e. one that can be authored and added through JavaScript alone.</p> <p>The JavaScript API that is exposed for any of these track type is identical. A media element now has this additional IDL interface:</p> <pre> interface HTMLMediaElement : HTMLElement { ... readonly attribute TimedTrack[] tracks; MutableTimedTrack addTrack(in DOMString label, in DOMString kind, in DOMString language); }; </pre> <p>A media element thus manages a list of TimedTracks and provides for adding TimedTracks through addTrack().</p> <p>The timed tracks are associated with a media resource in the following order:</p> <ol> <li>The <track> element children of the media element, in tree order.</li> <li>Tracks created through the addTrack() method, in the order they were added, oldest first.</li> <li>In-band timed text tracks, in the order defined by the media resource’s format specification.</li> </ol> <p>The IDL interface of a TimedTrack is as follows:</p> <pre> interface TimedTrack { readonly attribute DOMString kind; readonly attribute DOMString label; readonly attribute DOMString language; readonly attribute unsigned short readyState; attribute unsigned short mode; readonly attribute TimedTrackCueList cues; readonly attribute TimedTrackCueList activeCues; readonly attribute Function onload; readonly attribute Function onerror; readonly attribute Function oncuechange; }; </pre> <p>The first three capture the value of the @kind, @label and @srclang attributes and are provided by the addTrack() function for MutableTimedTracks and exposed from metadata in the binary resource for in-band tracks.</p> <p>The readyState captures whether the data is available and is one of “not loaded”, “loading”, “loaded”, “failed to load”. Data is only availalbe in “loaded” state.</p> <p>The mode attribute captures whether the data is activate to be displayed and is one of “disabled”, “hidden” and “showing”. In the “disabled” mode, the UA doesn’t have to download the resource, allowing for some bandwidth management.</p> <p>The cues and activeCues attributes provide the list of parsed cues for the given track and the subpart thereof that is currently active.</p> <p>The onload, onerror, and oncuechange functions are event handlers for the load, error and cuechange events of the TimedTrack.</p> <p>Individual cues expose the following IDL interface:</p> <pre> interface TimedTrackCue { readonly attribute TimedTrack track; readonly attribute DOMString id; readonly attribute float startTime; readonly attribute float endTime; DOMString getCueAsSource(); DocumentFragment getCueAsHTML(); readonly attribute boolean pauseOnExit; readonly attribute Function onenter; readonly attribute Function onexit; readonly attribute DOMString direction; readonly attribute boolean snapToLines; readonly attribute long linePosition; readonly attribute long textPosition; readonly attribute long size; readonly attribute DOMString alignment; readonly attribute DOMString voice; }; </pre> <p>The @track attribute links the cue to its TimedTrack.</p> <p>The @id, @startTime, @endTime attributes expose a cue identifier and its associated time interval. The getCueAsSource() and getCueAsHTML() functions provide either an unparsed cue text content or a text content parsed into a HTML DOM subtree.</p> <p>The @pauseOnExit attribute can be set to true/false and indicates whether at the end of the cue’s time interval the media playback should be paused and wait for user interaction to continue. This is particularly important as we are trying to support <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Extended_audio_description">extended audio descriptions</a> and <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Extended_Time-aligned_Captions.2FSubtitles">extended captions</a>.</p> <p>The onenter and onexit functions are event handlers for the enter and exit events of the TimedTrackCue.</p> <p>The @direction, @snapToLines, @linePosition, @textPosition, @size, @alignment and @voice attributes expose WebSRT positioning and semantic markup of the cue.</p> <p>My only concerns with this part of the specification are:</p> <ul> <li>The WebSRT-related attributes in the TimedTrackCue are in conflict with CSS attributes and really should not be introduced into HTML5, since they are WebSRT-specific. They will not exist in other types of in-band or out-of-band timed text tracks. As there is a mapping to do already, why not rely on already available CSS features.</li> <li>There is no API to expose header-specific metadata from timed text tracks into JavaScript. This such as the copyright holder, the creation date and the usage rights of a timed text track would be useful to have available. I would propose to add a list of name-value metadata elements to the TimedTrack API.</li> <li>In addition, I would propose to allow media fragment hyperlinks in a <video> @src attribute to point to the @id of a TimedTextCue, thus defining that the playback position should be moved to the time offset of that TimedTextCue. This is a useful feature and builds on bringing named media fragment URIs and TimedTracks together.</li> </ul> <h3><a href="http://www.whatwg.org/specs/web-apps/current-work/complete/rendering.html#timed-tracks-0">RENDERING TimedTracks</a></h3> <p>The third part of the timed track framework deals with how to render the timed text cues in a Web page. The rendering rules are explained in the <a href="http://www.whatwg.org/specs/web-apps/current-work/complete/rendering.html#timed-tracks-0">HTML5 rendering section</a>.</p> <p>I’ve extracted the following rough steps from the rendering algorithm:</p> <ol> <li>All timed tracks of a media resource that are in “showing” mode are rendered together to avoid overlapping text from multiple tracks.</li> <li>The timed tracks cues that are to be rendered are collected from the active timed tracks and ordered by the timed track order first and by their start time second. Where there are identical start times, the cues are ordered by their end time, earliest first, or by their creation order if all else is identical.</li> <li> Each cue gets its own CSS box.</li> <li>The text in the CSS boxes is positioned and formated by interpreting the positioning and formatting instructions of WebSRT that are provided on the cues.</li> <li>An anonymous inline CSS box is created into which all the cue CSS boxes are wrapped.</li> <li>The wrapping CSS box gets the dimensions of the video viewport. The cue CSS boxes are positioned so they don’t overlap. The text inside the cue CSS boxes inside the wrapping CSS box is wrapped at the edges if necessary.</li> </ol> <p>To overcome security concerns with this kind of direct rendering of a CSS box into the Web page where text comes potentially from a different and malicious Web site, it is required to have the cues come from the same origin as the Web page.</p> <p>To allow application of a restricted set of CSS properties to the timed text cues, a set of pseudo-selectors was introduced. This is necessary since all the CSS boxes are anonymous and cannot be addressed from the Web page. The introduced pseudo-selectors are ::cue to address a complete cue CSS box, and ::cue-part to address a subpart of a cue CSS box based on a set of identifiers provided by WebSRT.</p> <p>I have several issues with this approach:</p> <ul> <li>I believe that it is not a good idea to only restrict rendering to same-origin files. This will disallow the use of external captioning services (or even just a separate caption server of the same company) to link to for providing the captions to a video. <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-July/027283.html">Henri Sivonen proposed</a> a means to overcome this by parsing every cue basically as its own HTML document (well, the body of a document) and then rendering these in iFrame-manner into the Web page. This would overcome the same-origin restriction. It would also allow to do away with the new ::cue CSS selectors, thus simplifying the solution.</li> <li>In general I am concerned about how tightly the rendering is tied to WebSRT. Step 4 should not be in the HTML5 specification, but only apply to WebSRT. Every external format should provide its own mapping to CSS. As it is specified right now, other formats, such as e.g. 3GPP in MPEG-4 or Kate in Ogg, are required to map their format and positioning information to WebSRT instructions. These are then converted again using the WebSRT to CSS mapping rules. That seems overkill.</li> <li>I also find step 6 very limiting, since only the video viewport is regarded as a potential rendering area – this is also the reason why there is no rendering for audio elements. Instead, it would make a lot more sense if a CSS box was provided by the HTML page – the default being the video viewport, but it could be changed to any area on screen. This would allow to render music lyrics under or above an audio element, or render captions below a video element to avoid any overlap at all.</li> </ul> <h3>SUMMARY AND FURTHER NEEDS</h3> <p>We’ve made huge progress on accessibility features for HTML5 media elements with the specifications that Ian proposed. I think we can move it to a flexible and feature-rich framework as the improvements that Henri, myself and others have proposed are included.</p> <p>This will meet most of the <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements">requirements that the W3C HTML Accessibility Task Force has collected for media elements</a> where the requirements relate to accessibility functionality provided through alternative <strong>text</strong> resources.</p> <p>However, we are not solving any of the accessibility needs that relate to alternative audio-visual tracks and resources. In particular there is no solution yet to deal with multi-track audio or video files that have e.g. sign language or audio description tracks in them – not to speak of the issues that can be introduced through dealing with separate media resources from several sites that need to be played back in sync. This latter may be a challenge for future versions of HTML5, since needs for such synchoronisation of multiple resources have to be explored further.</p> <p>In a first instance, we will require an API to expose in-band tracks, a means to control their activation interactively in a UI, and a description of how they should be rendered. E.g. should a sign language track be rendered as pciture-in-picture? <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Clear_audio">Clear audio</a> and <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Sign_Translation">Sign translation</a> are the two key accessibility needs that can be satisfied with such a multi-track solution.</p> <p>Finally, another key requirement area for media accessibility is described in a section called <a href="http://www.w3.org/WAI/PF/HTML/wiki/Media_Accessibility_Requirements#Content_Navigation_by_Content_Structure">“Content Navigation by Content Structure”</a>. This describes the need for vision-impaired users to be able to navigate through a media resource based on semantic markup – think of it as similar to a navigation through a book by book chapters and paragraphs. The introduction of chapter markers goes some way towards satisfying this need, but chapter markers tend to address only big time intervals in a video and don’t let you navigate on a different level to subchapters and paragraphs. It is possible to provide that navigation through providing several chapter tracks at different resolution levels, but then they are not linked together and navigation cannot easily swap between resolution levels.</p> <p>An alternative might be to include different resolution levels inside a single chapter track and somehow control the UI to manage them as different resolutions. This would only require an additional attribute on text cues and could be useful to other types of text tracks, too. For example, captions could be navigated based on scenes, shots, coversations, or individual captions. Some experimentation will be required here before we can introduce a sensible extension to the given media accessibility framework.</p> <div class="comments"><a target="blank" href="http://blog.gingertech.net/2010/08/07/websrt-and-html5-media-accessibility/">Click here to comment on this article</a></div> </div> </div> </div><div class="sidebar_left"> <div class="block"> <script src="http://www.planet-a11y.net/media/js/jquery/plugins/jquery.form.js" type="text/javascript"></script> <script src="http://www.planet-a11y.net/modules/search/js/liveSearch.js" type="text/javascript"></script> <form id="searchForm" class="liveSearchform" action='http://www.planet-a11y.net/' method='get'> <h5>Search:</h5> <input type="text" name="search" /> </form> <form action='http://www.planet-a11y.net/' method='get'> <div style="float:right;" id="buttonLink"> <a href='http://www.planet-a11y.net/?advanceSearch='>Advanced Search</a> </div> </form> </div> <div class="block"> <div class="title"><h2><span class="dark">Register Your Feed!</span></h2></div> <div class="text"> <form action='http://www.planet-a11y.net/?user=addRss' method='post'> Name:<br/><input type="text" name="phanetTitle" /> <br/><br/> Description:<br/><input type="text" name="phanetDesc" /> <br/><br/> Site Url:<br/><input type="text" name="phanetUrl" /> <br/><br/> Site Feed:<br/><input type="text" name="phanetRss" /> <br/><br/> Owner Nickname:<br /><input type="text" name="phanetNick" /> <br/><br/> Owner Fullname:<br/><input type="text" name="phanetFull" /> <br/><br/> Owner Email:<br/><input type="text" name="phanetEmail" /> <br/><br/> <input type="submit" name="phanetRssregister" value="Register" /> <br /> </form> </div> <div class="close"></div> </div> <script type="text/javascript" > $( document ).ready(function() { $("input:checkbox").click(function() { var check = $(this).attr("name") if ( !$(this).is(":checked") ) { $( "div#posts div.title" ).each(function(){ if ( $( "#blogname", this ).attr("name") == check ) { $( this.parentNode ).hide() } }) } else { $( "div#posts div.title" ).each(function(){ if ( $( "#blogname", this ).attr("name") == check ) { $( this.parentNode ).show() } }) } }); }); function enDisBlog( check ) { console.log( check.select ) //for ( a in check ) { //console.log( a ) //} $( "div#posts div.title" ).each(function(){ if ( $( "#blogname", this ).attr("name") == check.attr("name") ) { $( this.parentNode ).hide() } }) } </script> <div class="block"> <div class="title"><h2><span class="dark">Registered Blogs (47)</span></h2></div> <div class="text"> <ul id="blog"> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="" title=""></a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="" title=""></a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="" title=""></a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="5:55 AM" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://automorphic.blogspot.com" title="Sandy's a11y-tagged posts">5:55 AM</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Access Garage" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://accessgarage.wordpress.com/" title="">Access Garage</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Accessibility" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blogs.adobe.com/accessibility/" title="Information and news about accessibility in Adobe products for people with disabilities, authors, and developers.">Accessibility</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Accessibility Tips" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.accessibilitytips.com/" title="Practical advice and guidance for building accessible websites">Accessibility Tips</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="AccessibilityWATCH" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.accessibilitywatch.com/" title="AccessibilityWatch™ is dedicated to providing the Web community with latest information on accessibility technology, news, solutions, tips and more. The AccessibilityWatch team has over 20 years of combined experience in Web accessibility. They are dedi">AccessibilityWATCH</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="All Sorts of Things" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://allsortsofshrink.blogspot.com" title="shrink's weblog">All Sorts of Things</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="ATMac" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://atmac.org/" title="Assistive Technology for Apple and Mac Users">ATMac</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Blog By Bryen (aka suseROCKs)" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.bryen.com" title="Rantings and Ravings">Blog By Bryen (aka suseROCKs)</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="decriptor" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.decriptor.com" title="Decriptor's Blog">decriptor</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="dotjay.co.uk" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://dotjay.co.uk/" title="web development and accessibility ramblings">dotjay.co.uk</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="FlaPer87" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.flaper87.org" title="import freedom; print everything">FlaPer87</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Gary Bishop" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/" title="Geeks making the world a bit better">Gary Bishop</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Hironobu Takagi" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://socialaccessibility.alphaworks.ibm.com/en/" title="Social Accessibility">Hironobu Takagi</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="iheni" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.iheni.com" title="iheni: making the web worldwide">iheni</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="isolani: web accessibility" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.isolani.co.uk/blog/access.html" title="Web accessibilility thoughts by Mike Davies">isolani: web accessibility</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Jantrid" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blog.jantrid.net/" title="The musings and ramblings of Jamie Teh.">Jantrid</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Jim Thatcher" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://jimthatcher.com/news.htm" title="News @ Jimthatcher.com">Jim Thatcher</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="jpwhiting" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://jpwhiting.blogspot.com" title="my ramblings wrt accessibility especially in KDE">jpwhiting</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Juicy Studio" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://juicystudio.com" title="Best practice in web accessibility">Juicy Studio</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Marco Zehe" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.marcozehe.de/" title="Marco's accessibility blog">Marco Zehe</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Mario Carrion" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blog.carrion.ws/" title="it’s gotta be smooth">Mario Carrion</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Mark Doffman" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://mark.doffman.com" title="Project maintainer - D-Bus Accessibility.">Mark Doffman</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="mindforks" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://mindforks.org/" title="Idle bandter about accessibility and other stuff">mindforks</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Monotonous.org" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://monotonous.org" title="Eitan's Pitch">Monotonous.org</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Nagappan's Weblog" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://nagappanal.blogspot.com" title="LDTP maintainer, a11y-tester through LDTP.">Nagappan's Weblog</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Neville's Blog" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://figod.blogspot.com/" title="Neville's Blog">Neville's Blog</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="NV Access news" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.nvaccess.org/" title="Information about NV Access Inc (a non-profit organisation created to support the NVDA screen reader)">NV Access news</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="NVDA" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.nvda-project.org/" title="News and thoughts from the developers of NVDA (Nonvisual Desktop Access, A free and open source screen reader for Microsoft Windows)">NVDA</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="OpenConcept Accessibility Threads" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://openconcept.ca/topic/accessibility" title="We're working to bring accessibility into Drupal Core">OpenConcept Accessibility Threads</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Peter Korn's Weblog" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blogs.sun.com/korn" title="The collected occasional commentary by Peter Korn">Peter Korn's Weblog</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Peter Parente" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://mindtrove.info" title="mindtrove.info">Peter Parente</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="pixeldiva" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.pixeldiva.co.uk/tag/accessibility" title="On Accessibility">pixeldiva</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Planet-A11y" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.planet-a11y.net/announcements" title="Planet-A11y News and Updates">Planet-A11y</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Radical Accessibility" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://delysid.org/" title="The internet seen from the perspective of a blind guy">Radical Accessibility</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Silvia Pfeiffer" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blog.gingertech.net/category/video-accessibility/" title="Open Digital Media Technology Blog">Silvia Pfeiffer</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="STC AccessAbility SIG Blog" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.stc-access.org/" title="An Accessibility and Technical Communication Blog">STC AccessAbility SIG Blog</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Steve's Technology Access Notes" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://fullmeasure.co.uk" title="Open Source a11y and open source in education">Steve's Technology Access Notes</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="The 58 Sound" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://58sound.com" title="thoughts on accessibility, usability and incluisve interaction design">The 58 Sound</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="The Paciello Group" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.paciellogroup.com/blog/" title="Accessibility blog">The Paciello Group</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="tim o'brien photos" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.timobrienphotos.com/" title="accessibility, photography, economics">tim o'brien photos</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Wanderings of an aimless vortex" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://lightvortex.livejournal.com" title="Record of my mono-a11y and atspi-dbus work [and occasional musings about politics, sustainability, and life in general">Wanderings of an aimless vortex</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="WebA11y" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://www.weba11y.com/blog/" title="Adventures in Web Accessibility">WebA11y</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="WebAIM" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://webaim.org/" title="Web Accessibility In Mind">WebAIM</a></li> <li><input style="margin-left:5px;" type="checkbox" id="showBlog" name="Willie Walker's Weblog" checked="checked"><a style="padding-left:5px;padding-right:5px;" href="http://blogs.sun.com/wwalker" title="Sparse mentioning of the doings of Willie Walker">Willie Walker's Weblog</a></li> </ul> </div> <div class="close"></div> </div> <div class="block"> <div id="notToggle" style="text-align: center; background: transparent !important;" class="text"> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=2nd vp" title="'2nd vp' returned a count of 32">2nd vp</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=a11y" title="'a11y' returned a count of 39">a11y</a> <a style="font-size: 30px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=accessibility" title="'accessibility' returned a count of 2342">accessibility</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=accessibility and usability" title="'accessibility and usability' returned a count of 20">accessibility and usability</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=accessibility news" title="'accessibility news' returned a count of 11">accessibility news</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=accessibility testing" title="'accessibility testing' returned a count of 14">accessibility testing</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=ambiguity" title="'ambiguity' returned a count of 149">ambiguity</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=app" title="'app' returned a count of 28">app</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=apple" title="'apple' returned a count of 40">apple</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=aria" title="'aria' returned a count of 52">aria</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=article" title="'article' returned a count of 156">article</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=assignment" title="'assignment' returned a count of 30">assignment</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=assistive technology" title="'assistive technology' returned a count of 48">assistive technology</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=atlanta" title="'atlanta' returned a count of 12">atlanta</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=atlanta conference" title="'atlanta conference' returned a count of 13">atlanta conference</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=audio" title="'audio' returned a count of 17">audio</a> <a style="font-size: 14px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=audio recording" title="'audio recording' returned a count of 357">audio recording</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=blind" title="'blind' returned a count of 48">blind</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=blind photographers" title="'blind photographers' returned a count of 28">blind photographers</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=blog" title="'blog' returned a count of 208">blog</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=board positions" title="'board positions' returned a count of 12">board positions</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=body of knowledge" title="'body of knowledge' returned a count of 33">body of knowledge</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=caketalk" title="'caketalk' returned a count of 15">caketalk</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=cakewalk" title="'cakewalk' returned a count of 15">cakewalk</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=candidacy statement" title="'candidacy statement' returned a count of 38">candidacy statement</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=candidate" title="'candidate' returned a count of 40">candidate</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=chn" title="'chn' returned a count of 33">chn</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=code" title="'code' returned a count of 15">code</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=coding" title="'coding' returned a count of 15">coding</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=community" title="'community' returned a count of 25">community</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=conference" title="'conference' returned a count of 36">conference</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=conferences" title="'conferences' returned a count of 21">conferences</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=design" title="'design' returned a count of 11">design</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=developer" title="'developer' returned a count of 21">developer</a> <a style="font-size: 25px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=development" title="'development' returned a count of 1708">development</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=digital media" title="'digital media' returned a count of 35">digital media</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=disabilities" title="'disabilities' returned a count of 153">disabilities</a> <a style="font-size: 14px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=drm" title="'drm' returned a count of 353">drm</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=education" title="'education' returned a count of 19">education</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=educators" title="'educators' returned a count of 14">educators</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=elections" title="'elections' returned a count of 40">elections</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=enabling technology" title="'enabling technology' returned a count of 24">enabling technology</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=features" title="'features' returned a count of 20">features</a> <a style="font-size: 25px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=firefox" title="'firefox' returned a count of 1779">firefox</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=flash" title="'flash' returned a count of 22">flash</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=font" title="'font' returned a count of 11">font</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=general" title="'general' returned a count of 29">general</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=generalnews" title="'generalnews' returned a count of 53">generalnews</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=generalprogressupdate" title="'generalprogressupdate' returned a count of 14">generalprogressupdate</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=glenda watson" title="'glenda watson' returned a count of 149">glenda watson</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=gnome" title="'gnome' returned a count of 39">gnome</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=google" title="'google' returned a count of 25">google</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=google chrome" title="'google chrome' returned a count of 12">google chrome</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=government" title="'government' returned a count of 11">government</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=hillary hart" title="'hillary hart' returned a count of 33">hillary hart</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=home recording studio" title="'home recording studio' returned a count of 15">home recording studio</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=html" title="'html' returned a count of 15">html</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=html 5" title="'html 5' returned a count of 11">html 5</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=html5" title="'html5' returned a count of 27">html5</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=html5 video" title="'html5 video' returned a count of 13">html5 video</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=hyperlinks" title="'hyperlinks' returned a count of 149">hyperlinks</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=hypertext links" title="'hypertext links' returned a count of 149">hypertext links</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=ideas" title="'ideas' returned a count of 16">ideas</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=information" title="'information' returned a count of 47">information</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=internet explorer" title="'internet explorer' returned a count of 11">internet explorer</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=ipad" title="'ipad' returned a count of 15">ipad</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=iphone" title="'iphone' returned a count of 48">iphone</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=iphone app" title="'iphone app' returned a count of 24">iphone app</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=iphone/ipod touch/itouch" title="'iphone/ipod touch/itouch' returned a count of 21">iphone/ipod touch/itouch</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=ipod" title="'ipod' returned a count of 19">ipod</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=ipod touch" title="'ipod touch' returned a count of 11">ipod touch</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=itunes" title="'itunes' returned a count of 12">itunes</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=javascript" title="'javascript' returned a count of 23">javascript</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=jaws" title="'jaws' returned a count of 14">jaws</a> <a style="font-size: 14px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=jaws scripts" title="'jaws scripts' returned a count of 377">jaws scripts</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=kde" title="'kde' returned a count of 18">kde</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=knewstuff" title="'knewstuff' returned a count of 13">knewstuff</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=knowledge portal" title="'knowledge portal' returned a count of 32">knowledge portal</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=landscape mode" title="'landscape mode' returned a count of 13">landscape mode</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=large print" title="'large print' returned a count of 225">large print</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=large print ideas" title="'large print ideas' returned a count of 19">large print ideas</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=law and policy" title="'law and policy' returned a count of 32">law and policy</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=linux" title="'linux' returned a count of 27">linux</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=mobile" title="'mobile' returned a count of 23">mobile</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=mono" title="'mono' returned a count of 16">mono</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=mozilla" title="'mozilla' returned a count of 92">mozilla</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=music production" title="'music production' returned a count of 19">music production</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=neurologically impaired" title="'neurologically impaired' returned a count of 25">neurologically impaired</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=new software" title="'new software' returned a count of 29">new software</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=news" title="'news' returned a count of 25">news</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=novell" title="'novell' returned a count of 19">novell</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=nvda" title="'nvda' returned a count of 21">nvda</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=open codecs" title="'open codecs' returned a count of 18">open codecs</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=open source" title="'open source' returned a count of 88">open source</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=opensuse" title="'opensuse' returned a count of 56">opensuse</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=opera" title="'opera' returned a count of 32">opera</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=os x" title="'os x' returned a count of 54">os x</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=pdf" title="'pdf' returned a count of 22">pdf</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=personal" title="'personal' returned a count of 20">personal</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=photography links" title="'photography links' returned a count of 11">photography links</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=primary keyboard users" title="'primary keyboard users' returned a count of 11">primary keyboard users</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=primary mouse users" title="'primary mouse users' returned a count of 12">primary mouse users</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=programming" title="'programming' returned a count of 38">programming</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=reading" title="'reading' returned a count of 11">reading</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=research" title="'research' returned a count of 11">research</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=review" title="'review' returned a count of 18">review</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=safari" title="'safari' returned a count of 11">safari</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=screen reader users" title="'screen reader users' returned a count of 149">screen reader users</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=screen readers" title="'screen readers' returned a count of 173">screen readers</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=screenreaders" title="'screenreaders' returned a count of 21">screenreaders</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=shares" title="'shares' returned a count of 12">shares</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=sight impairments" title="'sight impairments' returned a count of 149">sight impairments</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=software" title="'software' returned a count of 31">software</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=software development" title="'software development' returned a count of 15">software development</a> <a style="font-size: 14px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=sound taxi" title="'sound taxi' returned a count of 352">sound taxi</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=speech recognition" title="'speech recognition' returned a count of 13">speech recognition</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=speech to text" title="'speech to text' returned a count of 17">speech to text</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=sports" title="'sports' returned a count of 12">sports</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=standards" title="'standards' returned a count of 74">standards</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=standards groups" title="'standards groups' returned a count of 32">standards groups</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=stc" title="'stc' returned a count of 66">stc</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=stc elections" title="'stc elections' returned a count of 38">stc elections</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=strobist" title="'strobist' returned a count of 12">strobist</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=support" title="'support' returned a count of 17">support</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=supporters" title="'supporters' returned a count of 21">supporters</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=technology" title="'technology' returned a count of 40">technology</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=text to speech" title="'text to speech' returned a count of 14">text to speech</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=tim's photos" title="'tim's photos' returned a count of 41">tim's photos</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=tip" title="'tip' returned a count of 157">tip</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=touch" title="'touch' returned a count of 15">touch</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=tweets" title="'tweets' returned a count of 14">tweets</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=twitter" title="'twitter' returned a count of 28">twitter</a> <a style="font-size: 13px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=uncategorized" title="'uncategorized' returned a count of 151">uncategorized</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=usability" title="'usability' returned a count of 18">usability</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=users" title="'users' returned a count of 81">users</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=vice-president" title="'vice-president' returned a count of 32">vice-president</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=video" title="'video' returned a count of 23">video</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=video accessibility" title="'video accessibility' returned a count of 37">video accessibility</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=vision impaired" title="'vision impaired' returned a count of 19">vision impaired</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=visual studio" title="'visual studio' returned a count of 15">visual studio</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=voice recognition" title="'voice recognition' returned a count of 12">voice recognition</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=voice to text" title="'voice to text' returned a count of 11">voice to text</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=voiceover" title="'voiceover' returned a count of 31">voiceover</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=w3c" title="'w3c' returned a count of 42">w3c</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=wai aria" title="'wai aria' returned a count of 11">wai aria</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=wai-aria" title="'wai-aria' returned a count of 29">wai-aria</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=wcag 2.0" title="'wcag 2.0' returned a count of 19">wcag 2.0</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=web" title="'web' returned a count of 47">web</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=web 2.0" title="'web 2.0' returned a count of 35">web 2.0</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=web accessibility" title="'web accessibility' returned a count of 58">web accessibility</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=windows" title="'windows' returned a count of 14">windows</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=work" title="'work' returned a count of 11">work</a> <a style="font-size: 12px" class="tag_cloud" href="http://www.planet-a11y.net/?tag=zoom" title="'zoom' returned a count of 12">zoom</a> </div></div> </div><div id="site_bottom">Phanet does not generate contents each post belongs to the author.<br/> © 2008 - <a href="http://www.phanet.net" >Phanet</a> is under GPLv2</div> </div> </div> </body> </html>