<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Hello Kirti : Accessibility</title><link>http://blogs.technet.com/kirtid/archive/tags/Accessibility/default.aspx</link><description>Tags: Accessibility</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Accessibility support in the Toolkit </title><link>http://blogs.technet.com/kirtid/archive/2007/04/19/accessibility-support-in-the-toolkit.aspx</link><pubDate>Fri, 20 Apr 2007 08:33:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:795050</guid><dc:creator>kirtid</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/kirtid/comments/795050.aspx</comments><wfw:commentRss>http://blogs.technet.com/kirtid/commentrss.aspx?PostID=795050</wfw:commentRss><wfw:comment>http://blogs.technet.com/kirtid/rsscomments.aspx?PostID=795050</wfw:comment><description>&lt;P&gt;Accessibility has long been one of the most neglected aspects in the software development process. Those who do take it up, do so because they wish to secure a customer who has government compliance clauses. Getting resources assigned for accessibility work is a tough job with few takers. We, the &lt;A class="" title="Toolkit Sample website" href="http://ajax.asp.net/ajaxtoolkit" mce_href="http://ajax.asp.net/ajaxtoolkit"&gt;Toolkit&lt;/A&gt;&amp;nbsp;team, think it is a&amp;nbsp;fulfilling and worthy task and do not want to deprive users with disabilities of the Toolkit's coolness!&lt;/P&gt;
&lt;P&gt;Although accessibility on the client has been pretty stable in terms of Assistive Technologies(AT) and platform support,&amp;nbsp;&lt;A class="" title="Web accessibility" href="http://en.wikipedia.org/wiki/Web_accessibility" mce_href="http://en.wikipedia.org/wiki/Web_accessibility"&gt;web accessibility&lt;/A&gt;&amp;nbsp;remains in its nascent stages with the web redefining itself.&amp;nbsp;&lt;A class="" title="W3C site" href="http://www.w3c.org/" mce_href="http://www.w3c.org"&gt;W3C&lt;/A&gt; is&amp;nbsp;working on&amp;nbsp;the &lt;A class="" title="WCAG 2.0" href="http://www.w3.org/WAI/intro/wcag20" mce_href="http://www.w3.org/WAI/intro/wcag20"&gt;WCAG 2.0&lt;/A&gt;&amp;nbsp;draft which will be the second attempt to flesh out web accessibility guidelines&amp;nbsp;in the wake of the &lt;A class="" title=AJAX href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" mce_href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;AJAX movement&lt;/A&gt;.&amp;nbsp;Its charter is to deliver a web accessibility standard that will guide web developers to author semantically correct web sites which will communicate better with AT devices.&lt;/P&gt;
&lt;P&gt;We eagerly await the industry standard that both&amp;nbsp;web technologies and AT devices will comply with. However, till then the &lt;A class="" title="Toolkit Sample website" href="http://ajax.asp.net/ajaxtoolkit" mce_href="http://ajax.asp.net/ajaxtoolkit"&gt;Toolkit&lt;/A&gt;&amp;nbsp;controls need to be as accessible&amp;nbsp;as possible to everyone, including users with disabilities within the current scope of accessibility guidelines. To achieve that goal we have an &lt;A class="" title="Toolkit Accessibility wiki" href="http://www.codeplex.com/AtlasControlToolkit/Wiki/View.aspx?title=Accessibility" mce_href="http://www.codeplex.com/AtlasControlToolkit/Wiki/View.aspx?title=Accessibility"&gt;Accessibility Plan&lt;/A&gt; in place and hope to deliver support one issue at a time. We have already started making efforts to fix issues as we find them and we have a lot more in our &lt;A class="" title="Issue Tracker" href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/AdvancedList.aspx" mce_href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/AdvancedList.aspx"&gt;Issue Tracker&lt;/A&gt; that we would like to take up soon. &lt;/P&gt;
&lt;P&gt;So join us in your efforts to make the Toolkit more accessible. We are not Accessibility experts but working on it, so if you have accessibility domain knowledge, we see a potential partnership here! How can you help? Know about issues in Toolkit that could be changed to improve the accessibility experience, send us an &lt;A class="" title="AJAX email address" href="mailto:ajaxtk@microsoft.com" mce_href="mailto:ajaxtk@microsoft.com"&gt;email&lt;/A&gt;, post it on our &lt;A class="" title="Toolkit Forum" href="http://forums.asp.net/1022/ShowForum.aspx" mce_href="http://forums.asp.net/1022/ShowForum.aspx"&gt;forums&lt;/A&gt; or simply create a &lt;A class="" title="New work item" href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/Create.aspx" mce_href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/Create.aspx"&gt;work item&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Some useful links:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" title="Section 508 link" href="http://www.section508.gov/" mce_href="http://www.section508.gov/"&gt;Section 508&lt;/A&gt; is the US Law that states that all software should not discriminate against users with disabilities by disallowing them access to features that normal users have and prevent them from making the best use to operate effectively.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="EU policies" href="http://ec.europa.eu/information_society/policy/accessibility/index_en.htm" mce_href="http://ec.europa.eu/information_society/policy/accessibility/index_en.htm"&gt;European policies&lt;/A&gt;&amp;nbsp;are also in place to ensure that the software is accessible to all. &lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Juicy Studios" href="http://juicystudio.com/" mce_href="http://juicystudio.com/"&gt;Juicy Studios&lt;/A&gt;&amp;nbsp;is a site which provides guidelines on authoring accessible websites&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Learning the world" href="http://learningtheworld.eu/" mce_href="http://learningtheworld.eu/"&gt;Learning the world&lt;/A&gt;&amp;nbsp;is very good blog on web standards and accessibility&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Toolkit for all!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=795050" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kirtid/archive/tags/Toolkit/default.aspx">Toolkit</category><category domain="http://blogs.technet.com/kirtid/archive/tags/Accessibility/default.aspx">Accessibility</category></item><item><title>Feature complete AutoComplete extender? Not yet.</title><link>http://blogs.technet.com/kirtid/archive/2007/03/29/feature-complete-autocomplete-extender-not-yet.aspx</link><pubDate>Fri, 30 Mar 2007 01:48:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:717833</guid><dc:creator>kirtid</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.technet.com/kirtid/comments/717833.aspx</comments><wfw:commentRss>http://blogs.technet.com/kirtid/commentrss.aspx?PostID=717833</wfw:commentRss><wfw:comment>http://blogs.technet.com/kirtid/rsscomments.aspx?PostID=717833</wfw:comment><description>&lt;P&gt;I just finished making a bunch of changes to the &lt;A class="" title=AutoComplete href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx" mce_href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx"&gt;AutoComplete&lt;/A&gt; extender in the &lt;A class="" title=Toolkit href="http://ajax.asp.net/ajaxtoolkit/" mce_href="http://ajax.asp.net/ajaxtoolkit/"&gt;Toolkit&lt;/A&gt;. You can now css style the &lt;A class="" title=AutoComplete href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx" mce_href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx"&gt;AutoComplete&lt;/A&gt;&amp;nbsp;extender and make it as fancy as you would like it to be, well, as long as the completed content is text, which is what we support right now. But it is still pretty straightforward and meets most common scenarios. And hey, it is free! So you can &lt;A class="" title="Toolkit Source Download link" href="http://www.codeplex.com/AtlasControlToolkit/SourceControl/ListDownloadableCommits.aspx" mce_href="http://www.codeplex.com/AtlasControlToolkit/SourceControl/ListDownloadableCommits.aspx"&gt;download&lt;/A&gt; the source code at this very&amp;nbsp;moment and start playing with it, even deploy it right away. These changes will be part of our official release within the next couple of months but there is nothing stopping you from using the latest bits. If you run into issues, please post them on our &lt;A class="" title=Forum href="http://forums.asp.net/1022/ShowForum.aspx" mce_href="http://forums.asp.net/1022/ShowForum.aspx"&gt;forum&lt;/A&gt; or report a &lt;A class="" title="New bug" href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/Create.aspx" mce_href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/Create.aspx"&gt;bug&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The autocomplete flyout is a custom menu and we need to handle keyboard and mouse events explicitly. We also have one more task at hand which is making the extender accessible, which means that the menu html needs to be keyboard usable, use semantic html and be in the right dom order to start with. There is more to AJAX accessibility than that of course;&amp;nbsp;as you delve deeper to add regular features which need to be implemented to meet core scenarios you will&amp;nbsp;always discover that they need nasty workarounds to ensure accessibility and cross browser support. The browser as an application platform is not fun to work with given its eccentricities.&lt;/P&gt;
&lt;P&gt;Anyways, back to the accessibility features...To achieve DOM order correctness, the autocomplete flyout element is now inserted right after the textbox; which means that it will be in the screen reader's list to read out loud next. The other issue is keyboard support, which was already present in the&amp;nbsp;extender&amp;nbsp;but needed to be tweaked to work with scrolling. In&amp;nbsp;cases such as this one, it is most useful to operate as closely as existing menu controls to avoid any learning curve and introduce behavior that is not very intuitive which just means more work to be done in the extender itself. The keyboard support now handles scrolling which I compute based of the scrollHeight, scrollTop and clientHeight &lt;A class="" title="element bounds properties" href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/div.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/div.asp"&gt;properties&lt;/A&gt; on the flyout element. I was attempting to use &lt;A class="" title="Scroll into view" href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/scrollintoview.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/scrollintoview.asp"&gt;scrollIntoView&lt;/A&gt; to avoid performing the computations myself but it was based off the window and it resulted in the whole window scrolling when I hit the down/up arrows in the flyout. &lt;A class="" title="Bertrand's blog" href="http://weblogs.asp.net/bleroy/default.aspx" mce_href="http://weblogs.asp.net/bleroy/default.aspx"&gt;Bertrand Le Roy&lt;/A&gt;, a developer from the &lt;A class="" title="ASP.Net AJAX" href="http://ajax.asp.net/" mce_href="http://ajax.asp.net/"&gt;ASP.Net AJAX&lt;/A&gt; team and my accessibility cohort, recommended that I do it myself and that turned out to be the safest bet, worked across browsers and was under my control. The third thing was semantic html which was an almost easy fix, but one which will go a long way in making the autocomplete flyout useful for people with disabilities. The flyout markup is now an unordered list and that helps clarify the purpose of the element to the user. An additional accessibility feature came in as a freebie. I earned it by making the flyout css stylable, support in &lt;A class="" title="High Contrast" href="http://www.microsoft.com/windowsxp/using/accessibility/highcontrast.mspx" mce_href="http://www.microsoft.com/windowsxp/using/accessibility/highcontrast.mspx"&gt;High Contrast&lt;/A&gt; mode. The color and background of the flyout can be friendlier in that scenario. Although, I have to admit that&amp;nbsp;the colors I have chosen on the Toolkit &lt;A class="" title="Sample website" href="http://ajax.asp.net/ajaxtoolkit" mce_href="http://ajax.asp.net/ajaxtoolkit"&gt;sample website&lt;/A&gt; autocomplete menu will not work very well in high contrast. My reasoning? I was lazy to find colors that worked in normal mode in all browsers and&amp;nbsp;that would work in high contrast as well.&lt;/P&gt;
&lt;P&gt;What about localization? We already support localizing strings in the &lt;A class="" title=Toolkit href="http://ajax.asp.net/ajaxtoolkit/" mce_href="http://ajax.asp.net/ajaxtoolkit/"&gt;Toolkit&lt;/A&gt;&amp;nbsp;but with css styling in, left-to-right and right-to-left settings are a piece of cake, chocolate cake perhaps...better and better!&lt;/P&gt;
&lt;P&gt;So the &lt;A class="" title=AutoComplete href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx" mce_href="http://ajax.asp.net/ajaxtoolkit/AutoComplete/AutoComplete.aspx"&gt;AutoComplete&lt;/A&gt;&amp;nbsp;extender supports theming as do all extenders in the Toolkit, is xhtml compliant, has international support, is almost accessible and very stylable. What's next?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Additional keys support like "home", "end", left/right arrows&lt;/LI&gt;
&lt;LI&gt;Ability to pass additional data to the webservice; currently you can only pass the text in textbox and the number of suggestions you would like&lt;/LI&gt;
&lt;LI&gt;Custom return types? Like pictures in the list? Wow, that would be nice but not on the radar right away...&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Take a look at our &lt;A class="" title="Issue tracker" href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/AdvancedList.aspx" mce_href="http://www.codeplex.com/AtlasControlToolkit/WorkItem/AdvancedList.aspx"&gt;bugs list&lt;/A&gt; to see if someone is already demanding for something you may be looking for as well. &lt;/P&gt;
&lt;P&gt;Onto a&amp;nbsp;"Feature Complete" AutoComplete extender!&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=717833" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/kirtid/archive/tags/Toolkit/default.aspx">Toolkit</category><category domain="http://blogs.technet.com/kirtid/archive/tags/Accessibility/default.aspx">Accessibility</category><category domain="http://blogs.technet.com/kirtid/archive/tags/xhtml/default.aspx">xhtml</category><category domain="http://blogs.technet.com/kirtid/archive/tags/Localization/default.aspx">Localization</category><category domain="http://blogs.technet.com/kirtid/archive/tags/Theming/default.aspx">Theming</category><category domain="http://blogs.technet.com/kirtid/archive/tags/Css/default.aspx">Css</category><category domain="http://blogs.technet.com/kirtid/archive/tags/AutoComplete/default.aspx">AutoComplete</category></item></channel></rss>