<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iheni :: making the web worldwide &#187; standards</title>
	<atom:link href="http://www.iheni.com/category/standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iheni.com</link>
	<description></description>
	<lastBuildDate>Tue, 20 Jul 2010 11:00:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>The open web needs you. Yes, you</title>
		<link>http://www.iheni.com/the-open-web-needs-you-yes-you/</link>
		<comments>http://www.iheni.com/the-open-web-needs-you-yes-you/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:59:32 +0000</pubDate>
		<dc:creator>Henny</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[open web]]></category>
		<category><![CDATA[OWEA]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=2008</guid>
		<description><![CDATA[The Web Standards Project (WaSP) has been busy at work hatching the InterACT curriculum, a framework for teaching standards based web design and development intended for schools, universities and business. Education is core to getting the web to pull it&#8217;s socks up and become more of an inclusive, cross browser, cross platform, cross device place. [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.webstandards.org/">Web Standards Project</a> (WaSP) has been busy at work hatching the <a href="http://interact.webstandards.org/">InterACT curriculum</a>, a framework for teaching standards based web design and development intended for schools, universities and business.</p>
<p>Education is core to getting the web to pull it&#8217;s socks up and become more of an inclusive, cross browser, cross platform, cross device place. By creating a curriculum and web craft degree backed by both industry and educators, the Open Web Education Alliance (OWEA) hopes to help produce the graduates that employers need to build slick, usable, accessible and profitable websites.</p>
<p><a href="http://www.iheni.com/wp-content/uploads/2010/06/connection_diagram3.png"><img class="alignnone size-medium wp-image-2009" src="http://www.iheni.com/wp-content/uploads/2010/06/connection_diagram3-300x168.png" alt="" width="300" height="168" /></a></p>
<p>Up to this point all the work in OWEA and WaSP InterAct has been voluntary contributed to by some of the best web designers and developers out there today. To get this initiative really off the ground however we need to put in some serious hours and to do that OWEA needs funding. (Disclaimer: I&#8217;m hoping to be the one to put in the serious hours).</p>
<h3>This is where you come in</h3>
<p>We&#8217;re applying for a grant from the Shuttleworth Foundation and would love to show them how well backed this initiative is by our community. So, if you care about a sustainable web then take two minutes to show your support by signing up to  <a href="https://www.drumbeat.org/project/open-web-education-alliance">The Open Web Education Alliance project</a> funding bid. We need comments, contributors and votes!</p>
<h3>Buy the book</h3>
<p>WaSP InterAct have just brought out <a href="http://www.amazon.co.uk/Interact-Web-Standards-Holistic-Approach/dp/0321703529">Interact with Web Standards: A Holistic Approach to Web Design</a> - over 500 pages of hotness by Erin Anderson, Virginia DeBolt, Derek Featherstone, Lars Gunther, Denise R. Jacobs, Leslie Jensen-Inman, Chris Mills, Christopher Schmitt, Glenda Sims, Aarron Walter. Well worth a read for anyone learning or teaching web design.</p>
<p>While you&#8217;re at it you may also want to get <a title="Introducing HTML 5 (Voices That Matter) (Paperback)" href="http://www.amazon.co.uk/Introducing-HTML-Voices-That-Matter/dp/0321687299/ref=pd_sim_b_1">Introducing HTML 5</a> by Bruce Lawson and Remy Sharp. It&#8217;s out in July so it&#8217;ll be a nice little surprise when it drops through the letter box in a months time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/the-open-web-needs-you-yes-you/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Flash and keyboard access across browsers</title>
		<link>http://www.iheni.com/flash-and-keyboard-access-across-browsers/</link>
		<comments>http://www.iheni.com/flash-and-keyboard-access-across-browsers/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 15:07:07 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[keyboard access]]></category>
		<category><![CDATA[NPAPA]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1575</guid>
		<description><![CDATA[A question I&#8217;m frequently asked by developers is why keyboard access for the Flash is not fully supported across browsers. Opera, Safari, Firefox and Chrome all have problems enabling keyboard users to tab into and out of Flash content while Internet Explorer works fine. The issue Plugin support typically needs an API that acts as [...]]]></description>
			<content:encoded><![CDATA[<p>A question I&#8217;m frequently asked by developers is why keyboard access for the Flash is not fully supported across browsers. Opera, Safari, Firefox and Chrome all have problems enabling keyboard users to tab <em>into</em> and <em>out of</em> Flash content while Internet Explorer works fine.</p>
<h3>The issue</h3>
<p>Plugin support typically needs an API that acts as a doorway connecting the plugin, browser and user. IE gets round this by using <a href="http://en.wikipedia.org/wiki/ActiveX">ActiveX</a> &#8211; itself a closed propitiatory format &#8211; so users can tab into and out of the Flash. Of course keyboard access within the Flash content itself is handled by Adobe and is now considered to be <a href="http://blogs.adobe.com/accessibility/2006/06/testing_keyboard_access_in_fla_1.html">keyboard accessible</a>. So it&#8217;s really support for entering and leaving the plug-in with keyboard that is the issue.</p>
<h3>The browser fix</h3>
<p>Ideally there needs to be a standardized API that can be used across industry to enable plugin support across browsers. The most common  API is <a href="http://en.wikipedia.org/wiki/NPAPI">Netscape Plugin Application Programming Interface</a> (NPAPA). First developed for Netscape it has subsequently been implemented in other browsers including Opera, Safari, Firefox, Konqueror, Google Chrome, and some versions of Microsoft Internet Explorer.</p>
<p>The kind of access NPAPI supports includes scripting, printing, full screen plugins, windowless plugins and content streaming but is not as powerful as ActiveX, and is still evolving &#8211; in particular tabbing into and out of the Flash movie.</p>
<p>Help is at hand however.</p>
<p>There is currently a <a href="https://wiki.mozilla.org/Plugins:AdvancedKeyHandling">proposal to solve the issue of Flash support</a> being lead by Mozilla, Adobe, Opera, Apple, IBM and Sun which has now been accepted. Implementation will depend on collaboration between all stakeholders including plugin vendors and of course Adobe.</p>
<p>Aside from the the plugin API solution is there an alternative quick fix for Flash support in Opera?</p>
<p>There have been some discussions internally but it seems there is no quick fix that will completely, and satisfactorily, address the issue. There are two ways that NPAPI plugins can work. The first (default) is called &#8220;windowed&#8221;. This is essentially an OS window rendered on top of the browser. Keyboard input is therefore direct and not via the browser.</p>
<p>There are a couple of drawbacks with &#8220;windowed&#8221; however. Firstly it can pose security issues. Secondly it&#8217;s not a complete keyboard access solution because while getting focus <em>into</em> the plugin is possible getting focus <em>out</em> is not. This is key and really negates the point of being able to tab into the Flash Player because as a keyboard only user you&#8217;ll only get stuck there.</p>
<p>The second mode is called &#8220;windowless&#8221;, where the browser controls more of the plugin rendering. Here keyboard input goes via the browser (possibly depending on OS) and in turn is intercepted. The drawback with this solution is that real world support is limited as most plugins do not support this mode, and for those who do it&#8217;s not that widely used due to performance issues.</p>
<p>By far the best and most secure solution is standardising the NPAPI API so that it works across browsers with all plugins. Better not just for Opera but the web in general.</p>
<p>In terms of a solution for Opera it seems the fixes available now fall far short of what we would want to give our users. The good news however is that to implement support once the plugin API is ready should be fairly straight forward.</p>
<h3>The developer fix</h3>
<p>So where does this leave you as a developer, and more importantly your users? There is a hack you can use to give Flash keyboard access using a method in your Flash movie to focus a chosen element. You can then create a text link that calls this method to “skip into Flash”. This isn&#8217;t something I&#8217;ve tried and tested and I&#8217;d be interested to hear comments from anyone who has.</p>
<p><strong>Update</strong> &#8211;  As Andrew Kirkpatrick points out there is another way to <a href="http://blogs.adobe.com/accessibility/2009/04/firefox_focus_and_actual_links_1.html">give Flash focus using the SWFFocus class</a>. While the technique showcased discusses this in the context of Firefox I did a quick test in Opera 10 Beta and Safari 4 but had no luck accessing the content.</p>
<p>But I suppose the real question is why hack what you can already do using existing technologies supported across all browsers? Don&#8217;t get me wrong, I like Flash and have two thumbs up at Adobe for the work they have done to make it accessible, but if I&#8217;m building a site using Flash and knowingly locking out all non-IE users then I can&#8217;t use it.</p>
<p>As <a href="http://www.wait-till-i.com/2008/07/21/so-you-want-to-create-accessible-online-video-huh/">Christian Heilmann points out</a> much of what Flash does can be done with existing technologies supported in the browser:</p>
<blockquote><p>Using the DOM and JavaScript I can create HTML elements that work with all kind of assistive technology. Instead of hoping that keyboard users can access my Flash content I use what browsers already have – links, buttons and form fields – to interact with the it.</p></blockquote>
<p><a href="http://www.w3.org/WAI/intro/aria">WAI-ARIA </a>is also a core way to build screen reader accessible and tabbable web apps and widgets. Added to this the <a href="http://a.deveria.com/caniuse/#agents=All&amp;eras=now,near&amp;cats=HTML5,Canvas&amp;statuses=rec,cr,wd,ietf">HTML5 &lt;video&gt; element will soon give us native support for video across browsers</a>; something that Flash is used for extensively today.</p>
<p>So there are ways and means now to avoid the keyboard trap that Flash content poses for keyboard only users plus there is work to provide a universal solution in the form of the proposed plugin API. But for now I&#8217;d personally always opt for the standards based cross browser solution so as to ensure happy users and avoid additional work and hacks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/flash-and-keyboard-access-across-browsers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Interview with Technikwuerze: Unite, accessibility, HTML5, SVG, education and Opera&#8217;s role</title>
		<link>http://www.iheni.com/interview-with-technikwuerze-unite-accessibility-html5-svg-education-and-operas-role/</link>
		<comments>http://www.iheni.com/interview-with-technikwuerze-unite-accessibility-html5-svg-education-and-operas-role/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 14:15:13 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[Unite]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1552</guid>
		<description><![CDATA[Myself and my colleague Navjot Pawara were interviewed by German podcast Technikwuerze. In it Nav covers Opera Unite &#8211; what it is and how you can use it and I chat about Opera&#8217;s approach to accessibility, HTML5, SVG, development and education. Aside from a minor glitch in the middle when I seem to disappear altogether [...]]]></description>
			<content:encoded><![CDATA[<p>Myself and my colleague <a href="http://twitter.com/navjotpawera">Navjot Pawara</a> were interviewed by German podcast <a href="http://technikwuerze.de/podcast/technikwuerze143/">Technikwuerze</a>. In it Nav covers Opera Unite &#8211; what it is and how you can use it and I chat about Opera&#8217;s approach to accessibility, HTML5, SVG, development and education.</p>
<p>Aside from a minor glitch in the middle when I seem to disappear altogether it was a fun interview (despite Nav swatting wasps when he was on mute and my having to throw stuffed toys at the dog to stop her snoring).</p>
<p>Big thanks to <a href="http://twitter.com/ginader">Dirk Ginader</a> and <a href="http://twitter.com/saschapi">Sascha Postner</a> for having us on. Links mentioned in the interview are:</p>
<ul>
<li><a href="http://unite.opera.com/">Opera Unite</a> &#8211; share files by running a server from the comfort of the browser.</li>
<li><a href="http://www.opera.com/developer">Opera Developer Network</a> &#8211; articles, blog posts, tools, tips and resources for developers.</li>
<li><a href="http://my.opera.com/ODIN/blog/">ODIN blog</a> &#8211; news, views and presentations from the Opera Developer Network.</li>
<li><a href="http://labs.opera.com/">Opera Labs</a> &#8211; a showcase of technologies for tomorrow.</li>
<li><a href="http://www.opera.com/company/education/curriculum//">Opera Web Standards Curriculum</a> &#8211; tutorials in standards-based Web design, including HTML, CSS, and JavaScript development.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/interview-with-technikwuerze-unite-accessibility-html5-svg-education-and-operas-role/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A brief history of web standards &#8211; available in Traditional and Simplified Chinese</title>
		<link>http://www.iheni.com/a-brief-history-of-web-standards-available-in-traditional-and-simplified-chinese/</link>
		<comments>http://www.iheni.com/a-brief-history-of-web-standards-available-in-traditional-and-simplified-chinese/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 06:33:40 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[standards]]></category>
		<category><![CDATA[Chinese]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1540</guid>
		<description><![CDATA[A huge thank you to Samuel Chong who&#8217;s translated my article A Brief History of Web Standards into both traditional and simplified Chinese. This brings the collection of translations up to three with the Greek translation: Web网站标准的简史以及对使用者的好处 &#8211; Simplified Chinese Web網站標準的簡史以及對使用者的好處 &#8211; traditional Chinese Τα web standards και η χρησιμότητά τους &#8211; Greek. You can [...]]]></description>
			<content:encoded><![CDATA[<p>A huge thank you to <a href="http://www.certifiedchinesetranslation.com/">Samuel Chong</a> who&#8217;s translated my article A Brief History of Web Standards into both traditional and simplified Chinese. This brings the collection of translations up to three with the Greek translation:</p>
<ul>
<li><a href="http://www.certifiedchinesetranslation.com/openaccess/history-web-standards.html">Web<span lang="cn">网站标准的简史以及对使用者的好处</span></a> &#8211; Simplified Chinese</li>
<li><a href="http://www.certifiedchinesetranslation.com/openaccess/history-web-standards-tc.html">Web<span lang="cn">網站標準的簡史以及對使用者的好處</span></a> &#8211; traditional Chinese</li>
<li><a href="http://css3.gr/articles/article/brief-history-web-standards-and-why-we-need-them/"><span lang="el">Τα web standards και η χρησιμότητά τους</span></a> &#8211; Greek.</li>
</ul>
<p>You can find more translations by Samuel of web standards articles in Chinese in the <a href="http://www.webstandards.org/web-standards-articles-translations/">web standards translation page on WaSP</a> as well as over 30 other translations (and counting).</p>
<p>If you have a translation you want to add to <abbr>WaSP</abbr> drop me an email at <a href="mailto:ilg-info@webstandards.org">email the ILG Co-leads</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/a-brief-history-of-web-standards-available-in-traditional-and-simplified-chinese/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Just how accessible is SVG?</title>
		<link>http://www.iheni.com/just-how-accessible-is-svg/</link>
		<comments>http://www.iheni.com/just-how-accessible-is-svg/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:50:25 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[screenreaders]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=902</guid>
		<description><![CDATA[I&#8217;ve been dipping my toes into Scalable Vector Graphics (SVG) lately and wondering how this can be made accessible and usable for all. It seems like a very under used technology which is a pity given it&#8217;s potential to be more readable by assitive technologies such as screen readers, braille displays and screen magnification than [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been dipping my toes into  Scalable Vector Graphics (SVG) lately and wondering how this can be made accessible and usable for all. It seems like a very under used technology which is a pity given it&#8217;s potential to be more readable by assitive technologies such as screen readers, braille displays and screen magnification than other graphicy type solutions.</p>
<p>The <abbr title="World Wide Web Consortium">W3C</abbr> describes <a href="http://www.w3.org/Graphics/SVG/About">SVG</a> is a relatively simple way to generate graphics on a web page using markup:</p>
<blockquote><p>SVG is a platform for two-dimensional graphics. It has two parts: an XML-based file format and a programming API for graphical applications. Key features include shapes, text and embedded raster graphics, with many different painting styles. It supports scripting through languages such as ECMAScript and has comprehensive support for animation.</p></blockquote>
<p>SVG is supported in all modern browsers &#8211; with the exception of Internet Explorer &#8211; including most mobile browsers making it an excellent cross platform bit of bling. Even the lack of support in IE could be addressed soon not by Microsoft itself but by Google who are billed to give a keynote at the SVG Open in October on their <a href="At this keynote you will learn about SVG Web, a new open source JavaScript project that allows Internet Explorer to render both static and dynamic SVG with a simple drop-in library!">SVG for IE drop-in library</a>. This could boost the popularity of SVG given that to date IE has been one of the biggest things holding it back.</p>
<p><strong>Update 22 August 2009:</strong> Announcement about <a href="http://code.google.com/p/svgweb/">Google&#8217;s 60K library to bring SVG, SMIL, video, audio to IE</a>.</p>
<p>The real bonus of SVG however is it&#8217;s scalability, integration with web standards, re-usability and ability to manipulate objects all of which lend SVG to being a robust &#8211; and crucially &#8211; accessible alternative to other image based formats such as GIF, PNG or JPEG.</p>
<p>SVG graphics can be scaled and resized without any of the blurring or pixellation that you see on traditional images. Scaling is important to users with low vision who enlarge text in the browser or rely on assistive technologies such as tactile graphic devices (which typically have a very low resolution) and screen magnifiers.  So if you want to have images of text as headings and not worry about these becoming blurred and unreadable you can. As the image below shows, the enlarged PNG is pixellated whereas the SVG equivalent is smooth and crisp.</p>
<div id="attachment_1405" class="wp-caption alignnone" style="width: 310px"><a href="http://www.w3.org/TR/SVG-access/"><img class="size-medium wp-image-1405" src="http://www.iheni.com/wordpress/wp-content/uploads/2009/07/svgtigers-300x268.png" alt="Comparison of PNG and SVG enlargements taken from Accessibility Features of SVG by Charles McCathieNevile and Marja-Riitta Koivunen" width="300" height="268" /></a><p class="wp-caption-text">Comparison of PNG and SVG enlargements taken from Accessibility Features of SVG by Charles McCathieNevile and Marja-Riitta Koivunen</p></div>
<p>XML, being a text based language, also lends SVG to better accessibility than current headline grabbers such as HTML5 <code>canvas</code> which lacks an accessibility API or hooks for screen readers. While the <abbr title="Web Hypertext Application Technology Working Group">WHAT-WG</abbr> currently recommend a <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element">fallback</a> &#8211; a draconian circa 1999 HTML alternative that confines screen reader users to a disability ghetto &#8211; they are working on a &#8220;built in&#8221; rather than &#8220;bolt on&#8221; approach asking for input from the accessibility community for <a href="http://lists.w3.org/Archives/Public/public-html/2009Jul/0372.html">viable solutions to make canvas accessible</a>. Bruce Lawson has the lowdown on SVG versus canvas in his post  <a href="http://www.brucelawson.co.uk/2009/canvas-accessibility-and-svg">Canvas, accessibility and SVG</a>.</p>
<h3>SVG and screen readers</h3>
<p>While SVG supports many of the accessibility guidelines that we see in <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.0 and is supported by all modern browsers except IE, there is one drawback: screen readers do not handle SVG well.</p>
<p>It&#8217;s hard to say why. As Bruce Lawson pointed out it may be because &#8220;big screen readers have traditionally sat on top of Internet Explorer&#8221;. I think it may also be because screen reader vendors have an awful lot to keep abreast of out there with regards to browser compatibility, emerging technologies such as ARIA, developments in HTML5 as well as compatibility with software such as MS Office, Open Office, Flash, PDF etc. Google&#8217;s promise of fixing SVG in IE should have some positive knock on effects &#8211; or at least let&#8217;s hope.</p>
<p>Screen readers not being able to handle SVG well is no reason to not make your SVG screen reader ready however. As always you want to be thinking about future proofing so as to avoid any pesky and costly retrofits at a later date.</p>
<h3><strong>Title and descriptions</strong></h3>
<p>The <code>title</code> and <code>desc</code> elements can be added to any graphic to provide a fallback for screen readers. These can be added to parts of the graphic &#8211; hierarchically &#8211; or the graphic as a whole.  Both <code>title</code> and <code>desc</code> can be used together with the former acting as the title of the graphic and the latter as as expanded explanation (from what I&#8217;ve understood anyway). If the image above of the tigers was created in SVG you&#8217;d code it as follows:</p>
<p><code>&lt;?xml version="1.0"?&gt;&lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN" "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"&gt;<br />
&lt;svg width="6in" height="4.5in" viewBox="0 0 600 450"<br />
xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink"&gt;<br />
&lt;title&gt;Tiger's head&lt;/title&gt; &lt;desc&gt;A slinky SVG tiger&lt;/desc&gt;<br />
........<br />
&lt;/svg&gt;</code></p>
<p>According to the spec however the <a href="http://www.w3.org/TR/SVG11/struct.html#DescElement"><code>title</code> element in SVG</a> <em>may</em> behave a little differently to how the  <code>title </code>attribute behaves in HTML:</p>
<blockquote><p>Each container element or graphics element in an SVG drawing can supply a &#8216;desc&#8217; and/or a &#8216;title&#8217; description string where the description is text-only. When the current SVG document fragment is rendered as SVG on visual media, &#8216;desc&#8217; and &#8216;title&#8217; elements are not rendered as part of the graphics. User agents may, however, for example, display the &#8216;title&#8217; element as a tooltip, as the pointing device moves over particular elements. Alternate presentations are possible, both visual and aural, which display the &#8216;desc&#8217; and &#8216;title&#8217; elements but do not display &#8216;path&#8217; elements or other graphics elements. This is readily achieved by using a different (perhaps user) style sheet. For deep hierarchies, and for following &#8216;use&#8217; element references, it is sometimes desirable to allow the user to control how deep they drill down into descriptive text.</p></blockquote>
<p>While desc is not displayed (in accordance to the spec) it is up to the browser to decide how to render the  <code>title</code> element in SVG. In other words it can either be displayed as a &#8216;tooltip&#8217; or not. Using Opera 10 Beta 2  <code>title</code> is shown as a &#8216;tooltip&#8217;, but neither Safari 4.01 Firefox 3 display the &#8216;tooltip&#8217;.</p>
<p>The closet match to the behavior of the <code>title </code>attribute in HTML in SVG is <code><a href="http://www.w3.org/TR/2008/WD-SVGMobile12-20080915/linking.html#XLinkTitleAttribute">xlink:title</a></code>.</p>
<blockquote><p>The title attribute shall be used to describe the meaning of a link or resource in a human-readable fashion, along the same lines as the role or arcrole attribute. A value is optional; if a value is supplied, it shall contain a string that describes the resource. In general it is preferable to use a &#8216;title&#8217; child element rather than a &#8216;title&#8217; attribute. The use of this information is highly dependent on the type of processing being done. It may be used, for example, to make titles available to applications used by visually impaired users, or to create a table of links, or to present help text that appears when a user lets a mouse pointer hover over a starting resource.</p></blockquote>
<p>A link with a title attribute in HTML would look like this:</p>
<p><code>&lt;a href="http://www.mysite.com" title="My super funky site"&gt;visit my site&lt;/a&gt;</code></p>
<p>Where as a link in SVG would look like this:</p>
<p><code>&lt;a xlink:href="</code><code>http://www.mysite.com</code><code>" xlink:title="</code><code>My super funky site</code><code>"&gt;&lt;text x="20" y="20"&gt;</code><code>visit my site</code><code>&lt;/text&gt;&lt;/a&gt;</code></p>
<p>In the above the x and y value are the co-ordinates where the text is placed on the canvas. To ensure this works you have to declare the XLink namespace in the document, most commonly in the SVG root element.</p>
<p>One important thing to note is that the <a href="http://www.w3.org/TR/SVG11/linking.html#AElement">&#8216;a&#8217; element can be wrapped around elements in SVG</a>, a little like <a href="http://html5doctor.com/block-level-links-in-html-5/">block level linking in HTML5</a>. This is a great feature as it allows for a larger clickable area for those that need it and you can wrap as many components in the link &#8211; let&#8217;s say a graphic with accompanying text &#8211; as you like.</p>
<h3>Hierarchy</h3>
<p>Just as you would give an HTML page a hierarchical order the same is true of SVG. This allows a non-sighted user to build a mental map of the graphic and is founded on <a href="http://www.w3.org/TR/WCAG20/#content-structure-separation-sequence">WCAG 1.3.2 Meaningful sequence</a>.</p>
<blockquote><p>When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. (Level A)</p></blockquote>
<p>Expanding on the tiger image above and adding in all four images into one would mean the code looked as follows:</p>
<p><code>&lt;?xml version="1.0"?&gt; &lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN" "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"&gt;<br />
&lt;svg width="6in" height="4.5in" viewBox="0 0 600 450"<br />
xmlns="http://www.w3.org/2000/svg"   xmlns:xlink="http://www.w3.org/1999/xlink"&gt;<br />
&lt;title&gt;Tigers&lt;/title&gt; &lt;desc&gt;Drab PNG tigers and slinky SVG tigers&lt;/desc&gt;<br />
&lt;!-- add graphic content here, and so on for the other components--&gt;<br />
&lt;g id="Tigera"&gt; &lt;title&gt;Tiger A&lt;/title&gt; &lt;desc&gt;A small tiger  using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerb"&gt; &lt;title&gt;Tiger B&lt;/title&gt; &lt;desc&gt;A small tiger using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerc"&gt; &lt;title&gt;Tiger C&lt;/title&gt; &lt;desc&gt;A large tiger using PNG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;g id="Tigerd"&gt; &lt;title&gt;Tiger D&lt;/title&gt; &lt;desc&gt;A large tiger using SVG&lt;/desc&gt; &lt;/g&gt;<br />
&lt;/svg&gt;</code></p>
<p>You&#8217;ll notice in the above that the <a href="http://www.w3.org/TR/SVG11/struct.html#Groups">&#8216;g&#8217; element</a> is used to structure the document.  This is basically a container element that is used to group related graphics. &#8216;g&#8217; elements can also appear within &#8216;g&#8217; elements.</p>
<blockquote><p>Grouping constructs, when used in conjunction with the &#8216;desc&#8217; and &#8216;title&#8217; elements, provide information about document structure and semantics. Documents that are rich in structure may be rendered graphically, as speech, or as braille, and thus promote accessibility.</p></blockquote>
<h3>Colour</h3>
<p>The basic rule of accessible colour apply to SVG just as they would any other image. In other words don&#8217;t rely on colour alone to convey meaning or use colour that lacks contrast. This falls in line with WCAG 2.0:</p>
<blockquote><p><a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast">1.4.1 Use of Color:</a> Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. (Level A)</p></blockquote>
<p>and</p>
<blockquote><p><a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast">1.4.3 Contrast (Minimum)</a>: The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: (Level AA)</p></blockquote>
<h3>Mark up and CSS</h3>
<p>Again familiar rules that apply to HTML and CSS also apply to SVG:</p>
<ul>
<li>Ensure your SVG validates to SVG <a href="http://www.relaxng.org/">RelaxNG grammar</a> however some discussions suggest to do so <a href="http://tech.groups.yahoo.com/group/svg-developers/message/48562">without the doctype</a>.</li>
<li>Separate structure from presentation.</li>
<li>Use text for text and not graphics.</li>
<li>Provide as much structure and alternatives as possible using the <code>g</code>, <code>title</code> and <code>desc</code>.</li>
<li>Style text using fonts not images.</li>
<li>Use &#8216;<a href="http://www.w3.org/TR/SVGMobile12/struct.html#XMLLangAttribute">xml:lang</a>&#8216; to identify the natural language of content and changes in natural language. This ensures that textual content can be spell-checked, or converted to speech.</li>
</ul>
<h3><abbr title="Web Accessibility Initiative Accessible Rich Internet Applications">WAI-ARIA</abbr></h3>
<p>ARIA describes how to add semantics and other metadata to HTML content in order to make user interface controls and dynamic content more accessible. In principle this is also applicable SVG and as such SVG  1.2 recommends ARIA for adding in accessibility hooks for screen readers via the <a href="http://www.w3.org/TR/SVGTiny12/struct.html#RoleAttribute">&#8216;role&#8217; attribute</a>.</p>
<p>The &#8216;role&#8217; attribute assigns one or more role values to an element which in turn can get fed back to a screen reader.  <a href="http://www.w3.org/TR/wai-aria/">ARIA 1.0</a> is currently in Last Call (the stage before it becomes a W3C Recommendation) and is expected to be published soon. While the SVG 1.2 specification recommends using roles, ARIA 1.0 itself is not massively focused on SVG. According to the Protocols and Formats Working Group however SVG will feature more in ARIA 2.0 (along with extensibility, live regions and HTML5 support).  Erik Dahlstrom, co-chair of the SVG Working Group, has provided <a href="http://lists.w3.org/Archives/Public/public-pfwg-comments/2009AprJun/0062.html">feedback around SVG and ARIA</a> including comments on managing focus, accessible name calculation,  navigation and more.</p>
<p>While it is clear there is a lot of work to be done the fact that ARIA roles can be used is a positive step forward as it acts as a bridge where screen reader support falls short.  Jaws, WindowEyes, NVDA, FireVox and Orca are all adding support for ARIA as is IE, FireVox, Opera and Safari (<a href="http://wiki.codetalks.org/wiki/index.php/Main_Page">Codetalks</a> has a list of <a href="http://wiki.codetalks.org/wiki/index.php/Who_Supports_WAI-ARIA">who supports ARIA</a>) so if thinking about adding ARIA to your SVG now is clearly a wise move.</p>
<h3>So just how accessible is SVG?</h3>
<p>Clearly a lot of work needs to be done to get SVG accessibility ready for screen readers. Some hooks are there however the real work is yet to come both from screen reader vendors as well as the specification writers. What&#8217;s reassuring is that both the ARIA and SVG camps recognise this and there is talk of SVG having a bigger focus in ARIA 2.0.</p>
<p>Putting screen readers aside there are clear benefits to SVG for screen magnification users with it being scalable, standards compliant and able to provide block level linking. The standards aspect of this is important as it means that you can use <abbr title="A language for transforming XML documents into other XML documents"><a href="http://www.w3.org/TR/xslt">XSLT</a></abbr> to transform SVG into HTML &#8211; readable by all assistive technology.</p>
<p>Accessible SVG has a potential &#8211; despite it being early days &#8211; as a useful alternative for canvas and other image formats. Who knows, with possible IE support on the horizon and more of a focus in Aria 2.0 perhaps screen reader vendors will step up efforts to support SVG. If they do as have a really robust technology out there to add to the developers toolbox.</p>
<p>For more check out:</p>
<ul>
<li> <a href="http://twitter.com/dstorey">David Storey</a>, <a href="http://twitter.com/shepazu">Doug Schepers</a> and <a href="http://twitter.com/smiffytech">Mathew Smith</a> on Twitter.</li>
<li><a href="http://www.w3.org/TR/SVG-access/">Accessibility features of SVG</a> Charles McCathieNevile and Marja-Riitta Koivunen.</li>
<li><a href="http://www.w3.org/TR/SVGTiny12/">Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a> from the W3C.</li>
<li><a href="http://www.inkscape.org/">Inkscape</a> &#8211; an Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.</li>
<li><a href="http://www.w3.org/TR/wai-aria/">Accessible Rich Internet Applications (WAI-ARIA) 1.0</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/just-how-accessible-is-svg/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
