<?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; w3c</title>
	<atom:link href="http://www.iheni.com/tag/w3c/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>Progressive enhancement for mobile: media queries</title>
		<link>http://www.iheni.com/progressive-enhancement-for-mobile-media-queries/</link>
		<comments>http://www.iheni.com/progressive-enhancement-for-mobile-media-queries/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 12:13:03 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[one web]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1690</guid>
		<description><![CDATA[Good web design is as much about making your websites work across browsers as it is across devices such as mobile. On top of that you want your websites to be universally accessible to disabled users &#8211; which can seem a challenge in itself. Earlier this year Jakob Neilson said that the the mobile web [...]]]></description>
			<content:encoded><![CDATA[<p>Good web design is as much about making your websites work across browsers as it is across devices such as mobile. On top of that you want your websites to be universally accessible to disabled users &#8211; which can seem a challenge in itself.</p>
<p>Earlier this year Jakob Neilson said that the the <a href="http://www.useit.com/alertbox/mobile-2009.html">mobile web 2009 mirrors the desktop web 1998</a> highlighting how hard it is to browse on a mobile. He&#8217;s right of course, mobile browsing can be frustrating and tiresome at the best of times. His solution however is to design not just &#8216;different websites&#8217; for desktop and mobile but in the case of &#8216;moderately rich sites&#8217; build &#8216;two mobile designs: one for low-end cellphones and another for smartphones and big-screen phones&#8217;.</p>
<p>Sound like unnecessary hard work? I <a href="http://www.iheni.com/mobile-desktop-development/">think so</a>. It also hints at repeating the mistakes of desktop web design circa 1998 where we thought the answer was to design for one browser, use proprietary technology, build text only websites for disabled users&#8230;the list goes on.</p>
<p>So let&#8217;s not make that same mistake and instead fast forward to one of the principles of good web design that dug us out of the dark hole of 1998: <a href="http://www.alistapart.com/articles/understandingprogressiveenhancement/">progressive enhancement</a>. Add to that one of the biggest problems we face on mobile today, varying viewport sizes, and we have a good case for one website fits all.</p>
<p>Accommodating the multitude of different screen sizes is tricky and unpredictable. Mobile browsers try to work around this by offering a desktop view (which renders the whole site and is zoomable) and a mobile view (where content is rendered as a single column with some <abbr title="Cascading Style Sheets">CSS</abbr> stripped out). You can try this for yourself using the <a href="http://www.opera.com/mini/demo/">Opera Mini Emulator</a> or looking at the screen shots below.</p>
<p><img class="size-medium wp-image-1691" src="http://www.iheni.com/wordpress/wp-content/uploads/2009/09/mobiledesktopview.png" alt="" width="224" height="273" /></p>
<p>The image above shows this site as seen in desktop mode on Opera Mini. The square on the top left can be activated (using either a keypad or touch screen phone)  so that the area within the square is scaled up to fill the viewport.</p>
<p><img class="size-medium wp-image-1692" src="http://www.iheni.com/wordpress/wp-content/uploads/2009/09/mobileview.png" alt="" width="228" height="271" /></p>
<p>This second image shows my site rendered as a single column of content. Some of the <abbr title="Cascading Style Sheets">CSS</abbr> has been stripped out so that there is basic styling and limited images. <strong>Note: </strong>screen shots were taken using an emulator for Opera Mini 4.2 which doesn&#8217;t have as good <abbr title="Cascading Style Sheets">CSS</abbr> support as <a href="http://www.opera.com/mini/next/">Opera Min 5 beta</a>.</p>
<p>As a developer you should never rely on the mobile browser to fix content rendering problems that arise from design so you need to find ways to accommodate varying viewport sizes yourself using techniques such as <a href="http://www.w3.org/TR/CSS21/media.html"><abbr title="Cascading Style Sheets">CSS</abbr> 2.1 media types</a>.</p>
<p>Media types are style sheets or styles tailored for different media such as ‘print’, ‘screen’, ‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘<abbr title="telecommunications devices for the deaf">tty</abbr>’, ‘tv’, and &#8216;all&#8217;. You&#8217;ll notice that not only do these include special outputs for handheld and mobile devices but also braille and tty making them a handy accessibility tool too.</p>
<p>Media types can be easily added using stylesheets as follows:</p>
<p><code>&lt;link rel="stylesheet" type="text/css" media="screen" href="sans-serif.css"&gt;<br />
&lt;link rel="stylesheet" type="text/css" media="print" href="serif.css"&gt;<br />
</code></p>
<p>Alternatively you can declare that sections of your <abbr title="Cascading Style Sheets">CSS</abbr> apply to certain media types within existing stylesheets using <code>@media</code>:</p>
<p><code>@media print {<br />
body { font-size: 10pt }<br />
}<br />
@media screen {<br />
body { font-size: 13px }<br />
}<br />
@media screen, print {<br />
body { line-height: 1.2 }<br />
]</code></p>
<p>So far so good as Mobile Web Best Practices 1.0 recommends media types in their <a href="http://www.w3.org/TR/mobile-bp/#ddc">default delivery context</a> &#8211; a base set of design guidelines for mobile. They also state you shouldn&#8217;t develop to <strong>only</strong> the <abbr title="Default Delivery Context">DDC</abbr> specification &#8211; and therefore limit design to the capabilities of low end phones &#8211; but adapt content to exploit the capabilities of higher end devices that can handle more robust styling and technologies.</p>
<p>Sound familiar? Step in progressive enhancement and <a href="http://www.w3.org/TR/css3-mediaqueries/">CSS 3 media queries</a>.</p>
<p>Media queries extend media types by using features such as &#8216;width&#8217;, &#8216;height&#8217;, &#8216;device-width&#8217;, &#8216;device-height&#8217;, &#8216;orientation&#8217;, &#8216;aspect-ratio&#8217;, &#8216;device-aspect-ratio&#8217;, &#8216;color&#8217;, &#8216;color-index&#8217;, &#8216;monochrome&#8217;, &#8216;resolution&#8217;, &#8216;scan&#8217;, and &#8216;grid&#8217;.</p>
<p>In short you get more for your money than you do with media types as you can specify things such as screen width that can target a style sheet to only apply to a screen which is 480px or less as shown in the example below:</p>
<p><code>@media screen and (max-device-width: 480px) {<br />
// insert CSS rules here<br />
}</code></p>
<p>You can check out a working <a href="http://devfiles.myopera.com/articles/817/mediaquery3.html">example of media queries</a> here (just resize the window to see content reflow) and read a write up of how it is done in the <a href="http://dev.opera.com/articles/view/opera-mini-5-beta-developers/#optimizing">optimizing for mobile</a> section of <a href="http://dev.opera.com/articles/view/opera-mini-5-beta-developers/">a developer&#8217;s look at Opera Mini 5 beta</a>.</p>
<p>Media queries are still being adopted by desktop and mobile browsers alike with support at the time of writing as follows (as far as I could see): Opera Mobile, Opera Mini 4, Opera on the Nintendo Wii, iPhone, Bolt, Iris and the Nokia s60 browser.</p>
<p>Within that the full set of media query features may or may not be supported by any one browser however I would expect the key ones are such as  &#8217;width&#8217;, &#8216;height&#8217;, &#8216;device-width&#8217; and &#8216;device-height&#8217; to be included. I&#8217;ve not been able to track down any up-to-date information here so let me know if you do.</p>
<p>The principles of good web design still seem to hold true when it comes to designing for mobile and we&#8217;d do well to learn from some of the mistakes from desktop rather than repeat them. Happily this makes our jobs a bit easier as the same rules apply:</p>
<ul>
<li>Set your baseline of supported web technologies</li>
<li>Use <a href="http://www.opera.com/wsc">web standards</a>: HTML, <abbr title="Cascading Style Sheets">CSS</abbr>, JavaScript, <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> etc</li>
<li>Apply progressive enhancement</li>
<li><a href="http://www.opera.com/dragonfly/">Test, test, test</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/progressive-enhancement-for-mobile-media-queries/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>
		<item>
		<title>Online course: An Introduction to W3C&#8217;s Mobile Web Best Practices</title>
		<link>http://www.iheni.com/online-course-an-introduction-to-w3cs-mobile-web-best-practices/</link>
		<comments>http://www.iheni.com/online-course-an-introduction-to-w3cs-mobile-web-best-practices/#comments</comments>
		<pubDate>Wed, 20 May 2009 15:55:32 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1278</guid>
		<description><![CDATA[For all you mobile standardistas out there the W3C is running an online training course An Introduction to W3C&#8217;s Mobile Web Best Practices, 1 June – 31 July 2009 Details, details&#8230; W3C is running an extended and improved version of its online course to introduce Web developers and designers to its Mobile Web Best Practices. [...]]]></description>
			<content:encoded><![CDATA[<p>For all you mobile standardistas out there the W3C is running an online training course <a href="http://www.w3.org/2009/04/MobiWeb102/">An Introduction to W3C&#8217;s Mobile Web Best Practices</a>, 1 June – 31 July 2009</p>
<p>Details, details&#8230;</p>
<blockquote><p>W3C is running an extended and improved version of its online course to introduce Web developers and designers to its Mobile Web Best Practices.</p>
<p>In this course you will:<br />
* learn about the specific promises and challenges of the mobile<br />
platform;<br />
* learn how to use W3C&#8217;s Mobile Web Best Practices to design mobile-friendly Web content and to adapt existing content for mobile;<br />
* discover the relevant W3C resources for mobile Web design.</p>
<p>As a participant, you will have access to lectures and assignments that provide hands-on practical experience of using W3C&#8217;s mobile Web Best Practices. You will have direct access to W3C experts on this topic who are the instructors for this course, and you&#8217;ll be able to discuss and share experiences with your peers who are faced with the challenges of mobile Web design.</p>
<p>Visit <a href="http://www.w3.org/2009/04/MobiWeb102/">An Introduction to W3C&#8217;s Mobile Web Best Practices</a> for more information including details of the course material, more about who will benefit most from the course, the registration fee and access to a free sample of the course itself.</p></blockquote>
<h3>Background reading and useful links</h3>
<ul>
<li><a href="http://www.w3.org/TR/mobile-bp/">Mobile Web Best Practices 1.0</a>, W3C.</li>
<li><a href="http://www.w3.org/WAI/mobile/">Making a Web Site Accessible Both for People with Disabilities and for Mobile Devices</a>, W3C.</li>
<li><a href="http://dev.opera.com/articles/view/designing-and-developing-mobile-web-site/">Designing and Developing mobile web sites in the real world, part 1</a> by Brian Suda.</li>
<li><a href="http://dev.opera.com/articles/view/designing-and-developing-mobile-web-site-1/">Designing and Developing mobile web sites in the real world, part 1</a>, By Brian Suda.</li>
<li><a href="http://dev.opera.com/articles/view/how-to-serve-the-right-content-to-mobile/">How to serve the right content to mobiles</a>, by Chris Mills.</li>
<li></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/online-course-an-introduction-to-w3cs-mobile-web-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why UAAG needs you (oh no not another set of guidelines)</title>
		<link>http://www.iheni.com/uaag-needs-you/</link>
		<comments>http://www.iheni.com/uaag-needs-you/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 11:36:34 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[UAAG]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=1095</guid>
		<description><![CDATA[With just under two weeks to go until the call to review the User Agent Accessibility Guidelines 2.0 (UAAG) closes (April 22nd) I expect you&#8217;re all heads down going through the spec like things demented&#8230;ok, possibly not. Working for Opera I&#8217;ve just joined the UAAG Working Group and have started to look at the guidelines [...]]]></description>
			<content:encoded><![CDATA[<p>With just under two weeks to go until the <a href="http://lists.w3.org/Archives/Public/w3c-wai-ig/2009JanMar/0057.html">call to review the User Agent Accessibility Guidelines 2.0</a> (UAAG) closes (April 22nd) I expect you&#8217;re all heads down going through the spec like things demented&#8230;ok, possibly not.</p>
<p>Working for Opera I&#8217;ve just joined the UAAG Working Group and have started to look at the guidelines properly for the first time in ages. This is not my natural area as I&#8217;m a content person through and though and therefore much more familiar with the Web Content Accessibility Guidelines (WCAG). So it&#8217;s got me thinking would a developer, a website owner, a user or a software procurement person really want to get their hands dirty with UAAG?</p>
<p>So this is what I came up with that made sense to me:</p>
<ol>
<li>You <strong>develop accessible content</strong>. UAAG is just one of three sets of <a href="http://www.w3.org/WAI/intro/components.php">guidelines relating to accessibility</a> produced by the <abbr title="World Wide Web Consortium">W3C</abbr> the other two being the &#8220;celebrity&#8221; Web Content Accessibility Guidelines (WCAG) and the more &#8220;D-List&#8221; (but up and coming thanks to social networking) Authoring Tool Accessibility Guidelines (ATAG). All share interdependencies and are designed to work together so that browsers (UAAG) render content  (WCAG) that has been authored and tested (ATAG) for accessibility.<br />
If one component is weak it can result in your content (that you have made accessible according to WCAG say) unusable. Think for example of the amount of times you hear &#8220;But <em>this</em> browser works differently from <em>that</em> browser&#8221; or &#8220;screen readers haven&#8217;t caught up yet and can&#8217;t handle such and such&#8221;. As a developer you have to spend more time developing workarounds to compensate for the browser and/or assistive technology. Not something that anyone relishes.</li>
<li>You&#8217;re interested in developments with <strong>HTML5</strong>. With so much discussion around what is <a href="http://intertwingly.net/blog/2009/04/08/HTML-Reunification#c1239199395">relevant to the browser implementors and authors</a> it&#8217;s useful to see where the lines blur between browsers and authors. HTML5 is attempting to do much that the author has had to do themselves before such as forms validation, support for video and audio, datagrids and so on. Previously these would be done by the authors using scripts meaning more work and less consistency for the user across websites. This is turn leads to a wider margin for error to allow inaccessible content and poor usability.</li>
<li>You build <strong>plugins or extensions</strong>. According to the <a href="http://www.w3.org/2002/10/uaag10-faq/#ua-def">UAAG FAQ</a> these too are also user agents and therefore have to follow the principles of keyboard access, rendering content accessibly and communicating with assistive technologies. So if you&#8217;re into building extensions for Firefox then you&#8217;ll need to ensure accessibility.</li>
<li>You develop <strong>web application</strong>s. Ok, so this is more of a controversial one but there&#8217;s nothing wrong with that. I&#8217;m also curious to hear what people think. So here&#8217;s the question: when does web content morph into being a web application and become better defined as a user agent rather than web content? For example, <a href="http://icant.co.uk/easy-youtube/">Easy YouTube</a> is a skin for YouTube designed to make playing video easier for people with cognitive problems. As such it can also be defined as a media player which sits very much under the user agent definition.<br />
This is a tricky because it&#8217;s doubtful that any developer is going to seriously look at following both WCAG and UAAG when developing. You can also argue that if you were able to upload, and therefore author, content to Easy YouTube the developer could find themselves having to reference UAAG, WCAG <em>and</em> ATAG.<br />
Back in the real world I think this is asking way too much but there is something of a cross over. It may be that WCAG is sufficient covering key aspects such as device independence and keyboard access but understanding the relationship would be useful. I wonder if anyone has done a mapping of UAAG, WCAG or ATAG&#8230;<br />
The UAAG working draft does specifically ask what people&#8217;s thoughts are on web applications:</p>
<blockquote><p>&#8220;Does the inclusion of Web applications (e.g video players, email clients, document applications) in the definition of user agents add undo burden or conflicts? What distinguishes Web application user agents from Web applications that are not user agents?&#8221;</p></blockquote>
<p>So leave a comment if you have any thoughts.</li>
<li>You&#8217;re a <strong>user</strong>. Being a user of assistive technology I would be keen to ensure that content worked for me. Understanding all three sets of guidelines means you&#8217;ve got a better idea of why something doesn&#8217;t work and how it can be fixed. This will help you to both flag problems to the vendors of user agents as well as inform decision as to which browser, media player and assistive technology you use.</li>
<li>You&#8217;re in <strong>procurement</strong>. If you are someone who makes decisions about what software to purchase you&#8217;ll need to know which software meets you accessibility requirements. Being able to do a comparison against UAAG, or to be able to ask for compliance to UAAG in tenders can help safeguard accessibility concerns.</li>
</ol>
<p>So I&#8217;m sure you&#8217;re all convinced that you need to look at UAAG right away so I wont hold you back with any more chatter from me. Details about how you can <a href="http://lists.w3.org/Archives/Public/w3c-wai-ig/2009JanMar/0057.html">comment on UAAG</a> are available from <abbr title="World Wide Web Consortium">W3C</abbr> together with an <a href="http://www.w3.org/WAI/intro/uaag.php">overview of UAAG </a> and the <a href="http://www.w3.org/TR/UAAG20/">draft UAAG 2.0</a> in all its glory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/uaag-needs-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>W3C translation search tool</title>
		<link>http://www.iheni.com/w3c-translation-search-tool/</link>
		<comments>http://www.iheni.com/w3c-translation-search-tool/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 16:18:35 +0000</pubDate>
		<dc:creator>iheni</dc:creator>
				<category><![CDATA[internationalization]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[w3cPlanet]]></category>

		<guid isPermaLink="false">http://www.iheni.com/?p=900</guid>
		<description><![CDATA[Reading specifications isn&#8217;t always at the top of everyone&#8217;s to-do list but if you&#8217;re working on the web and need to pinpoint the exact usage of HTML or CSS quite often you find yourself buried in a spec trying to figure something out. This is all well and good if your native language is English [...]]]></description>
			<content:encoded><![CDATA[<p>Reading specifications isn&#8217;t always at the top of everyone&#8217;s to-do list but if you&#8217;re working on the web and need to pinpoint the exact usage of HTML or CSS quite often you find yourself buried in a spec  trying to figure something out.</p>
<p>This is all well and good if your native language is English but can become a quagmire of tech talk and mumbo jumbo if not. Thankfully, as Richard Ishida lead of the Internationalisation Group pointed out to me today, those nice chaps at W3C have a fair amount of their work already translated and available for you to search using their nifty little  <a href="http://www.w3.org/2005/11/Translations/TranslationSearch.html">translation search tool</a>.</p>
<p>It may not look pretty but it lets you search by language, topic, translator and translation dates. Here you&#8217;ll find lots of resources covering <a href="http://www.w3.org/2005/11/Translations/Query?lang=any&amp;translator=any&amp;date=any&amp;docSelection=choose&amp;rec=none&amp;note=none&amp;tut=none&amp;wai=none&amp;i18n=i18n-tutorials&amp;qa=none&amp;misc=none&amp;sorting=byTechnology&amp;output=FullHTML&amp;submit=Submit">internationalisation</a>, <a href="http://www.w3.org/2005/11/Translations/Query?lang=any&amp;translator=any&amp;date=any&amp;docSelection=choose&amp;rec=none&amp;note=none&amp;tut=none&amp;wai=any&amp;i18n=i18n-tutorials&amp;qa=none&amp;misc=none&amp;sorting=byTechnology&amp;output=FullHTML&amp;submit=Submit">accessibility</a>, <a href="http://www.w3.org/2005/11/Translations/Query?lang=any&amp;translator=any&amp;date=any&amp;docSelection=choose&amp;rec=none&amp;note=none&amp;tut=any&amp;wai=any&amp;i18n=i18n-tutorials&amp;qa=none&amp;misc=none&amp;sorting=byTechnology&amp;output=FullHTML&amp;submit=Submit">tutorials</a> and much more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iheni.com/w3c-translation-search-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
