<?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>Think Vitamin &#187; Bruce Lawson</title>
	<atom:link href="http://thinkvitamin.com/author/bruce-lawson/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkvitamin.com</link>
	<description>The Web Practitioner&#039;s Blog</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:41:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>The Future of HTML 5</title>
		<link>http://thinkvitamin.com/code/the-future-of-html-5/</link>
		<comments>http://thinkvitamin.com/code/the-future-of-html-5/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 11:10:49 +0000</pubDate>
		<dc:creator>Bruce Lawson</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://carsonified.com/?p=3521</guid>
		<description><![CDATA[At FOWA London 2009 Bruce Lawson gave an introduction to HTML 5 and how it might be used in the future. The HTML 5 spec was originally called &#8220;Web Applications 1.0&#8243;. Most of the attention has been on the new markup elements, but in his talk he takes a further look at the applications side [...]]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://events.carsonified.com/fowa/2009/london">FOWA London 2009</a> Bruce Lawson gave an introduction to HTML 5 and how it might be used in the future.</p>
<p>The HTML 5 spec was originally called &#8220;Web Applications 1.0&#8243;. Most of the attention has been on the new markup elements, but in his talk he takes a further look at the applications side of the spec, covering:</p>
<ol>
<li> Dynamic images and graphs with canvas</li>
<li> Eliminating much forms validation with webforms 2.0</li>
<li> Local storage automagically saving your data</li>
<li> Geolocation</li>
<li> Building toolbars and menus.</li>
</ol>
<p><em>Editor&#8217;s Note: We&#8217;ll be covering &#8220;How HTML 5 is Going to Completely Change your Web App&#8221; at <a href="http://events.carsonified.com/fowa/2010/miami">The Future of Web Apps in Miami</a>.</em></p>
<p><span id="more-3521"></span></p>
<p>You can <a href="http://carsonified.com/blog/web-apps/the-future-of-html-5#thevideo">jump straight to the video</a>, <a href="http://carsonified.com/blog/web-apps/the-future-of-html-5#theslides">view the slides</a>, <a href="http://joeloverton.com/html5">read the transcript</a> (thanks <a href="http://twitter.com/joeloverton">@joeloverton</a> for doing this!), or check out the resources he demos in the talk:</p>
<ul>
<li><a href="http://9elements.com/io/projects/html5/canvas/">Eye-candy canvas</a></li>
<li><a href="http://www.benjoffe.com/code/demos/canvascape/">canvas first-person shooter</a></li>
<li><a href="http://htmlfive.appspot.com/static/gifter.html">canvas first-person gifter</a></li>
<li><a href="http://excanvas.sourceforge.net/">the excanvas library to port canvas to Internet Explorer</a></li>
<li><a href="http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas/">Filament Group&#8217;s jQuerty plugin using canvas for graphing data tables</a></li>
<li><a href="http://raphaeljs.com/">Raphaël JavaScript Library to make <abbr>SVG</abbr> that also works in Internet Explorer</a></li>
<li> <a href="http://code.google.com/p/svgweb/">SVG Web is a JavaScript library which provides SVG support on Internet Explorer</a> (Alpha code: not ready for production)</li>
<li> My <abbr>HTML</abbr>5 forms demo, including range, date, placeholder, regex validation (Try in Opera and Chrome)</li>
<li> <a href="http://www.modernizr.com">modernizr</a> &#8211; A small <abbr>HTML</abbr>5 capability detection library</li>
<li> <a href="http://www.html5demos.com/"><abbr>HTML</abbr>5demos.com</a> &#8211; Remy Sharp&#8217;s demos of geolocation, offline storage and web database and many others</li>
<li>Video demos</li>
</ul>
<p>Other useful resources:</p>
<ul>
<li> <a href="http://svgopen.org/2009/papers/54-SVG_vs_Canvas_on_Trivial_Drawing_Application">SVG vs. Canvas on Trivial Drawing Application</a>: a comparison of canvas and <abbr>SVG</abbr></li>
<li><a href="http://dev.w3.org/html5/spec-author-view/"><abbr>HTML</abbr>5 Authors spec</a></li>
<li>A video of <a href="http://blip.tv/file/2299313">Dean Edwards demoing his unreleased JavaScript library that detects and plugs the holes in current browsers&#8217; <abbr>HTML</abbr>5 support</a></li>
</ul>
<p>There are some great beginner canvast tutorials on the Opera Developer:</p>
<ol>
<li><a href="http://dev.opera.com/articles/view/html-5-canvas-the-basics/">HTML 5 canvas &#8211; the basics</a></li>
<li><a href="http://dev.opera.com/articles/view/html5-canvas-painting/">Creating an HTML 5 canvas painting application</a></li>
<li><a href="http://dev.opera.com/articles/view/creating-pseudo-3d-games-with-html-5-can-1/">Creating pseudo 3D games with HTML 5 canvas and raycasting</a></li>
<li><a href="http://dev.opera.com/articles/view/3d-games-with-canvas-and-raycasting-part/">Creating pseudo 3D games with HTML 5 canvas and raycasting: Part 2</a></li>
</ol>
<h3 id="thevideo">The video</h3>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="471" height="259" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6985053&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=eb6f00&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="471" height="259" src="http://vimeo.com/moogaloop.swf?clip_id=6985053&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=eb6f00&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Full transcription available at <a href="http://joeloverton.com/html5">joeloverton.com/html5</a>. We&#8217;d like to say a HUGE thank you to <a href="http://twitter.com/joeloverton">@joeloverton</a> for doing this transcription!</p>
<h3 id="theslides">The slides</h3>
<p><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bruce-lawson-opera-fowa-html5-091013075453-phpapp02&amp;stripped_title=the-future-of-html-5-by-bruce-lawson" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=bruce-lawson-opera-fowa-html5-091013075453-phpapp02&amp;stripped_title=the-future-of-html-5-by-bruce-lawson" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/code/the-future-of-html-5/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Accessibility In Suit And Tie</title>
		<link>http://thinkvitamin.com/design/accessibility-in-suit-and-tie/</link>
		<comments>http://thinkvitamin.com/design/accessibility-in-suit-and-tie/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 13:36:12 +0000</pubDate>
		<dc:creator>Bruce Lawson</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.thinkvitamin.com/features/design/accessibility-in-suit-and-tie</guid>
		<description><![CDATA[The gap between the high-end standards-aware freelance developer with the freedom to choose and the corporate web worker is a wide one, and it doesn&#8217;t look as if it&#8217;s likely to narrow any time soon. But, just as not every start-up employee skateboards from meeting to meeting coding Django on her iPhone, not every business [...]]]></description>
			<content:encoded><![CDATA[<p>The gap between the high-end standards-aware freelance developer with the freedom to choose and the corporate web worker is a wide one, and it doesn&#8217;t look as if it&#8217;s likely to narrow any time soon. But, just as not every start-up employee skateboards from meeting to meeting coding Django on her iPhone, not every business suit uses FrontPage to juggle his <code>marquee</code> tags. There are many corporate developers who do care about cross-browser compatibility, semantic code and accessibility. </p>
<p>So this article is for the suits who care: if you can&#8217;t use cutting-edge tools, technologies or techniques, what can you do to ensure that you&#8217;re doing all you can for all of your users? My tried-and-tested method is:</p>
<ol>
<li>Get buy-in from the top</li>
<li>Some accessibility is better than none</li>
<li>Educate your content providers</li>
</ol>
<h3>Get Buy-In From the Top</h3>
<p>The last major redesign project I was involved with was successful from an accessibility point-of-view because we had buy-in from the board. Having convinced the top brass of the need for accessibility we wrote a <a href="http://www.brucelawson.co.uk/2006/constitution-of-a-new-website/">&#8220;constitution&#8221; for the new site</a> that says <em>all</em> content must be accessible to people with disabilities, and where this clashes with aesthetics or organizational convenience, it trumps them. If you read it, you&#8217;ll see that I&#8217;ve sneaked in some accessibility-related rules under a different guise.</p>
<p>The <abbr>CEO</abbr> then sent this to all the directors. The advantage of this is clear: when a content owner is exasperated at the time you spend marking up a long important document rather than simply linking to a PDF of the Word  document they gave you, you can just point out that you&#8217;re just doing what you&#8217;re told and invite them to complain to the <abbr>CEO</abbr>. </p>
<h4>Achieving Buy-In</h4>
<p>One problem with corporate accessibility is that while corporations generally care about accessibility in the abstract (because they don&#8217;t want to get sued, and they don&#8217;t want negative publicity), they don&#8217;t actually understand how to show that they care. In my own experience, working for a <a href="http://www.sra.org.uk/">UK legal regulator</a>, accessibility is seen as a legal compliance issue (&#8221;does this comply with the <a href="http://www.direct.gov.uk/en/DisabledPeople/RightsAndObligations/DisabilityRights/DG_4001068">DDA</a>?&#8221;) which can lead to a grudging attempt to be accessible, because a corporate lawyer will naturally try to do the minimum required to stay in compliance; minimizing risk while minimizing costs.</p>
<p>The way to overcome this is to focus on the customer. I find the following arguments successful in getting accessibility discussed in a positive, &#8220;good-to-have&#8221; way rather than in a legal compliance &#8220;oh-well-if-we-must&#8221; way:</p>
<ul>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35769">Accessibility is good for Search Engine Optimization (SEO)</a></li>
<li>Accessibility enhances usability for everyone. An <a href="http://www.equalityhumanrights.com/Documents/Disability/Accessibility_guidance/web_access_and_inclusion.pdf">April 2004 formal investigation into UK web accessibility (PDF)</a> reported &quot;all users, not just disabled people, would benefit greatly from the measures required to make sites accessible and usable by blind people&quot;.</li>
<li><a href="http://www.isolani.co.uk/presentations/wsg/wsg-webaccessibility.pdf">Accessibility has many quantifiable business benefits (PDF)</a>. Legal and General, a British financial services company, redesigned its site with accessibility in mind and found:
<ul>
<li> 40% traffic increase   </li>
<li>         Doubled conversion rates
</li>
<li>        Doubled online revenue</li>
<li> 100% <abbr title="return on investment">ROI</abbr> in 5 months</li>
</ul>
</li>
</ul>
<h3>Some Accessibility is Better Than None</h3>
<p>I often see standardistas boast &quot;I don&#8217;t care about accessibility&quot; because it&#8217;s assumed to be inherent in standards-based development. (I doubt that&#8217;s true if you&#8217;re making Ajax pages, as you&#8217;ll need <a href="http://dev.opera.com/articles/view/introduction-to-wai-aria/">WAI-ARIA</a> attributes  to be added to HTML elements in order to ensure accessibility). </p>
<p>But that is based upon the premise that your web infrastructure and office politics mean that you&#8217;re able to do standards-based development.  Assuming you have a website that deals with the storing, manipulation and display of company data, you&#8217;ll need a CMS of some kind. The best code is produced by the best CMSes, and many of those are unavailable to corporate developers because:</p>
<ul>
<li>they&#8217;re open source and most corporate <abbr>IT</abbr> departments don&#8217;t like open source, due to perceived &quot;risk&quot; and lack of someone else to shout at if there&#8217;s a problem</li>
<li>they are free or very cheap (this is why start-ups often have better tools than big corporates with deep pockets: they use the free ones like WordPress, <abbr>PHP</abbr>, Rails, Drupal, etc. because they have to)</li>
<li>they are very new and don&#8217;t have a pedigree that reassures those whose job depends upon procuring the right <abbr>CMS</abbr></li>
<li>there&#8217;s a feeling that they can&#8217;t possibly compete with costly behemoths like Sharepoint, Teamsite, Vignette (<abbr>AKA</abbr> &quot;no-one ever got sacked for buying Microsoft&quot;)</li>
</ul>
<p>We could talk all day about why terrible tools are so prevalent. (In my experience, the reason why a terrible tool isn&#8217;t replaced is because someone senior paid $500,000 for it and sure as hell isn&#8217;t going to admit a mistake and scrap it.)</p>
<h4>Working Around Bad Tools</h4>
<p>The terrible tools can hamper your efforts to be accessible in several ways. One of the worst ways it can do this is by having some archaic <abbr>WYSIWYG</abbr> editor that allows authors to cheat and make &#8220;headings&#8221; by choosing size and colors which are translated into <code>font</code> tags on the front end, and therefore there is no <a href="http://www.youtube.com/watch?v=AmUPhEVWu_E">structure for an assistive technology user to navigate by</a>.</p>
<p>You can cure this by with a CSS rule that naughtily over-writes the tag: <code>font {color:red; font-size:xx-large; text-decoration:blink; background-color:yellow;}</code> which means content authors see hideous flashing text. It will, I guarantee, encourage them to write proper headings.</p>
<p>
Sometimes, terrible tools have to be worked round. You might never be able to get 100% valid code, or remove all the nested tables that you&#8217;ve added into pages just to stop them looking atrocious. </p>
<p>But that doesn&#8217;t mean that you won&#8217;t make a difference if you do what you can. While I was working on <a href="http://www.lawsociety.org.uk">The Law Society website</a> we had <em>thousands</em> of pages in the CMS that were full of <code>&lt;font&gt;</code> tags, double-<code>&lt;br&gt;</code>s to separate paragraphs and some table layout. Even if we could have run a script over the proprietary database to change those, it wouldn&#8217;t have been good use of our time, as every page would still need to be manually verified.</p>
<p>However, the site-wide header and navigation was controlled by a single include file, so we amended that to change the navigation from elaborate tables with <code>&lt;img alt="bullet"&gt;</code> to be a CSS-styled unordered list.  It would be easy, with such an architecture, to add some WAI-ARIA document landmark roles to help screenreader users. These changes were comparatively simple and made screenreader users&#8217; lives much easier. The site will never validate, or win a clean code award, but it&#8217;s more accessible than it was.</p>
<h4>Incrementally Improve the Code</h4>
<p>So you know you have loads of bad markup and &#8220;imitation&#8221; headings lurking around, but fixing them all will take too much time and effort. Sort out the biggie pages, such as the home page, &#8220;contact us&#8221; page, &#8220;about us&#8221; page and the other top 10 high-traffic pages (check your server logs) straight away.</p>
<p> Whenever any other page needs any kind of editorial amend, take a few minutes when the page is open for the editorial change to correct the markup, too. You&#8217;ll find that the most commonly updated pages will be corrected first, and they&#8217;re very likely to be most-important or most-visited so a sort of &quot;accessibility through natural selection&quot; process takes over.</p>
<h3>Educate Your Content Providers</h3>
<p>Most big corporates have multiple people throughout the business submitting content for publication. Generally, they aren&#8217;t web specialists and submit their content in Microsoft Word format. It&#8217;s vital to give them a Word template that defines the styles they can use for bullets and numbering, etc., so they don&#8217;t get a nasty surprise when they see that their lovingly-created purple lightning-strike bullets haven&#8217;t made it onto the website.</p>
<p>Consider organizing half-day training sessions on how to use Word styles so that headings are methodically created rather than imitated with font size and bold. This pays off as there is no ambiguity if you&#8217;re having to mark up their content by hand. (I would have killed for a Word macro that converted documents into HTML with no style information, only the structural information. If you know of one, please tell the world!)</p>
<p>If you have to publish in <abbr>PDF</abbr> format, it will be more accessible if it&#8217;s made with a proper Word structure. (Adobe has published a useful cheat sheet on how to <a href="http://blogs.adobe.com/accessibility/2008/03/reference_card_for_accessible.html">author Word files for conversion to more accessible PDF</a>.)</p>
<h4>Get Your Content Providers Writing <abbr>HTML</abbr></h4>
<p>Go mad! Dream big! Turn off the <abbr title="what you see is what you get editor">WYSIWYG</abbr>, throw away Word and train your content providers to deliver you <abbr>HTML</abbr>. Most web content (as opposed to headers, navigation, forms, etc.) consists of a few conceptually simple elements:</p>
<ul>
<li>headings</li>
<li>paragraphs (including abbreviations)</li>
<li>links</li>
<li>bulleted/ numbered lists</li>
</ul>
<p>So train people to send you the content ready-marked up. It won&#8217;t be perfect, but it&#8217;s simple to run it through <a href="http://tidy.sourceforge.net/">HTML Tidy</a> to make it validate. It will be shorter and better-structured if they have to consider the heading hierarchy. Of course, you will still need to add the more complex elements like images and data tables yourself, but they are rarer, so your workload will diminish, their control over the content will increase and your users will get a more accessible website.</p>
<h3>Accept the Compromises</h3>
<p>It&#8217;s hard, when you&#8217;re a professional, to accept that something you produce is less than perfect. But all web design is a compromise: liquid layouts versus line length, design versus page weight, and so on. Complete accessibility is never completely achievable as there is such a vast range of needs. So, be a zen master and accept the compromises: simply by caring and trying to do what you can, you&#8217;ll make your company&#8217;s website more accessible and lives of your disabled visitors easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkvitamin.com/design/accessibility-in-suit-and-tie/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.117 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-11 16:35:19 -->

