<?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>James Padolsey&#187; Accessibility category &#8211; James Padolsey</title>
	<atom:link href="http://james.padolsey.com/category/accessibility/feed/" rel="self" type="application/rss+xml" />
	<link>http://james.padolsey.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 21 Aug 2010 04:38:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavaScript is the icing!</title>
		<link>http://james.padolsey.com/javascript/javascript-is-the-icing/</link>
		<comments>http://james.padolsey.com/javascript/javascript-is-the-icing/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:56:40 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=1226</guid>
		<description><![CDATA[I am a strong proponent of layered cakes. I don&#8217;t know how to handle a cake that is just mashed together with many ingredients and shoved in the oven &#8212; I just end up staring at it, wondering how the hell I&#8217;m meant to consume&#8230;]]></description>
			<content:encoded><![CDATA[<p>I am a strong proponent of layered cakes. I don&#8217;t know how to handle a cake that is just mashed together with many ingredients and shoved in the oven &#8212; I just end up staring at it, wondering how the hell I&#8217;m meant to consume this thing! I prefer to have clearly defined layers, each with a unique palette that, when combined with the other layers adds to the overall symphony of taste.</p>

<p>Of course, I&#8217;m not actually talking about bakery; I&#8217;m talking about the web, and the many layers that it&#8217;s made of. I believe that maintaining separate layers is the best way to move forward whilst offering a usable, functional and accessible web. </p>

<p>I think JavaScript is an afterthought, and I think it&#8217;s best for everyone if it&#8217;s treated that way. Once you try mixing it into your application you&#8217;ll eventually encounter a conflict of layers! <em>A.K.A pissed off users.</em></p>

<p>I&#8217;m not just talking about being unobtrusive; I&#8217;m talking about <em>true</em> progressive enhancement, and <em>true</em> separation of concerns, on the server side <em>and</em> on the client side. I appreciate and try to develop by this ideal, because I honestly feel that it is the best way to develop any website or any application.</p>

<p>It&#8217;s not just about the end-user experience though; it&#8217;s about developing in a way that makes sense. For me, this makes sense.</p>

<p>For me, until I change my mind, JavaScript will always be the icing on the cake!</p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/javascript-is-the-icing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Readability, a noble cause</title>
		<link>http://james.padolsey.com/javascript/readability-a-noble-cause/</link>
		<comments>http://james.padolsey.com/javascript/readability-a-noble-cause/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 01:46:36 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Readability]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=728</guid>
		<description><![CDATA[According to a <a href="#">recently completed report</a> commissioned by the Web Standards Authority, the majority of popular websites do not reach the desired readability standards. Contrast, colour, sizing, positioning and other various aspects all have an effect on the readability of your site. Readability itself is of&#8230;]]></description>
			<content:encoded><![CDATA[<p>According to a <a href="#">recently completed report</a> commissioned by the Web Standards Authority, the majority of popular websites do not reach the desired readability standards. Contrast, colour, sizing, positioning and other various aspects all have an effect on the readability of your site. Readability itself is of central importance; without it your message is lost!</p>

<p>As per the details digressed in the mentioned report I have created a jQuery plugin which deals with this issue. By implementing the following enhancements, the plugin ensures your users a visit worth remembering!</p>

<ul>
    <li>Continuously varying textual colour makes words easier to focus on while progressing through any particular sentence.</li>
    <li>In addition, constantly changing background colours ensure the necessary inconsistency when reading text. As mentioned in the report, contrast is of central importance, &#8211; this is integrated into the plugin.</li>
    <li>Whenever a word is hovered over, the report states that the user must be looking for a deeper meaning &#8211; to fulfill this need the word in question is subtly re-sized.</li>
</ul>

<p>You can experience a fully working demo over here. If you are epileptic please don&#8217;t visit this link: <strong><a href="/demos/plugins/jQuery/readability/">THE DEMONSTRATION</a></strong></p>

<p>This plugin is very easy to integrate. Just call the &#8220;readability&#8221; plugin like so:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$.<span class="me1">rEaDaBiLiTy</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>




<p>Once initiated the plugin will automatically enhance the page in the ways mentioned.</p>

<p>Readability isn&#8217;t something to be taken lightly, it&#8217;s a serious issue and has been known to have widespread lethal affects across the globe. Web designers and developers have advanced recently in this area but the job isn&#8217;t yet done; we have to push for absolute readability. This plugin is only a tool, a tool to enable the world to get that one step closer to an entirely readable internet!</p>

<p>Please consider donating as I had to scour the entire WSA&#8217;s report just to uncover the key to readability. The plugin took a considerable amount of time to develop; throughout its creation I continually became parched and/or hungry so please consider buying me whatever you can afford (i.e. <a href="http://www.amazon.com/Apple-Cinema-30-inch-Flat-Panel-Display/dp/B0002ILKWM">this</a>). Thank you for supporting me!</p>

<p><strong>UPDATE: APRIL FOOLS!!!</strong></p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/readability-a-noble-cause/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Graceful degradation still matters!</title>
		<link>http://james.padolsey.com/javascript/graceful-degradation-still-matters/</link>
		<comments>http://james.padolsey.com/javascript/graceful-degradation-still-matters/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 10:39:07 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Graceful Degradation]]></category>
		<category><![CDATA[Progressive Enhancement]]></category>

		<guid isPermaLink="false">http://james.padolsey.com/?p=380</guid>
		<description><![CDATA[If you know about the timeless importance of <a href="http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/">graceful degradation</a> then you need not read this, but for those of you who think it&#8217;s an old-fashioned methodology or even an optional technicality then let me be the first to tell you that you&#8217;re wrong! I know&#8230;]]></description>
			<content:encoded><![CDATA[<p>If you know about the timeless importance of <a href="http://accessites.org/site/2007/02/graceful-degradation-progressive-enhancement/">graceful degradation</a> then you need not read this, but for those of you who think it&#8217;s an old-fashioned methodology or even an optional technicality then let me be the first to tell you that you&#8217;re wrong! I know this may put me, a mere 18-year-old web developer in the awkward position of having to tell some ignorant 50-year-old that they&#8217;re wrong but I&#8217;m perfectly comfortable with that if it ensures a better internet! </p>
<p>I&#8217;ve never surfed the web in a browser less capable than IE5, this should say quite a lot about my <strong>lack</strong> of understanding of less capable pieces of software and devices, yet, I still appreciate and understand that graceful degradation is of upmost important when creating any website.</p>
<p>Let&#8217;s look at your average out-of-college web designer&#8217;s perspective on graceful degradation, assuming they know what it means:</p>
<p><strong>Note</strong>: When reading the below passage out in your head do it with an &quot;<a href="http://en.wikipedia.org/wiki/The_Arctful_Dodger">Artful Dodger</a>&quot; (from <a href="http://en.wikipedia.org/wiki/Oliver_Twist">Oliver Twist</a>) accent; it&#8217;ll come across as more believable!</p>
<h2>Some idiot:</h2>
<blockquote>
    <p>&quot;Look, mate, I&#8217;m NOT gonna build an entire website which validates, is table-less and has degrading JavaScript for any amount of money &#8211; that&#8217;s just stupid! Even if that 5% stat were true (I doubt it) I wouldn&#8217;t feel any different. Graceful degradation is an added feature; something which clients should have to pay more for! I make clients pay more for validation, table-less layouts, optimized images, IE6 support, IE7 support, Opera support, actually anything which isn&#8217;t Firefox (FF FTW!) I charge extra for! My approach is way more forward-thinking and innovative than those &quot;standardistas&quot;!! Who the hell gives a damn about some paranoid geek running Lynx to browse the web, and nobody even uses NoScript! If a user disables JavaScript then that user shouldn&#8217;t expect functionality, period! And as far as I&#8217;m concerned, if a user doesn&#8217;t have the very latest nightly build of FF3 then I&#8217;m not gonna cater to them!&quot;</p>
</blockquote>
<h2>Why the idiot is wrong:</h2>
<p>The above passage represents the complete and utter idiocy of some people, real people! You might think it&#8217;s a little over the top, what with the &quot;<em>if a user doesn&#8217;t have the very latest nightly build</em>&quot; comment but overall it is a pretty accurate depiction of what I fear a few web designers around the world actually think.</p>
<span id="more-380"></span>
<h3>&quot;Graceful degradation is an added feature&quot;</h3>
<p>This is an all-too-common misconception; if you think this is true then you&#8217;ve got it all backwards. In all this mess the only thing which is really an &quot;added feature&quot; is the JavaScript itself. The methodology which ensures degradability may be part and parcel <em>with</em> the JavaScript (as it should be!) but it certainly is <strong>not</strong> an added feature itself.</p>
<h3>&quot;If a user disables JavaScript then that user shouldn&#8217;t expect functionality, period!&quot;</h3>
<p>What you have to understand is that JavaScript and the extent to which it is supported is not always controlled by the user, there may be other reasons why your JavaScript enhancements cannot be experienced by them (look below), so don&#8217;t assume that your user&#8217;s have <em>knowingly</em> disabled JavaScript or that they even <em>know</em> what JavaScript is.</p>
<h3>&quot;Who the hell gives a damn about some paranoid geek running Lynx&quot;</h3>
<p>It&#8217;s not only the &quot;paranoid geeks&quot; who will have JavaScript disabled, there are many other valid reasons for JavaScript not working. Ignoring these  users is selfish, against standards and is definitely a bad business decision!</p>
<h2>Reasons for JavaScript being disabled:</h2>
<ul>
    <li>Security reasons. (to protect from XSS attacks and Internet Explorer&#8217;s multiple security flaws etc.)</li>
    <li>JavaScript slows down a user&#8217;s already slow dialup connection.</li>
    <li>Browser sometimes crashes because of excessive JS, user disables it.</li>
    <li>Popups, onBeforeUnload alerts, disabled right-click etc. &#8211; User get&#8217;s pissed off and disables JavaScript!</li>
    <li>User is disabled in some way and uses a screen reader such as JAWS, Windows-eyes, SpeakThis etc. (Each having no or limited JavaScript support)</li>
    <li>User is surfing from behind a corporate firewall &#8211; the firewall blocks client-side-scripting. .</li>
    <li>Very old browsers don&#8217;t support JavaScript.</li>
    <li>Mobile web browsers only have limited support of JavaScript. (&#8216;Opera 4 mobile&#8217; uses a proxy which strips out most JavaScript)</li>
</ul>
<p>As you can see, it&#8217;s not just some people who disable JavaScript from within their browsers, there are a</p>
<h2>Ensuring a degradable experience</h2>
<p>In order to ensure a degradable experience for your users it&#8217;s important to have the right mindset from day one. Graceful degradation itself is really just an end to which the means is usually something called &#8216;progressive enhancement&#8217;, a well-known methodology used in building fualt-tolerant systems.</p>
<p>Progressive enhancement, when applied to the internet, is essentially the process of a website or web application functioning perfectly on modern software  while still being able to work correctly on older software. When applying this concept to websites it&#8217;s easy to see it&#8217;s relation to the three layers of the web; <strong>content</strong>, <strong>presentation</strong> and <strong>behaviour</strong>.</p>
<p><strong>Content</strong> is the fundamental backbone of any website; all your content should be visible whatever device or software platform a user is running. The content of your website will typically be found within the HTML, neither of the other two layers should be found within your HTML! Equally, your content should not come from either of the other layers. With the rise of multimedia (video/audio websites) this is becoming an ever unrealistic expectation but it&#8217;s good to have principles, right!?</p>
<p><strong>Presentation</strong> (usually CSS) is the second layer and, for those browsers that support it, offers a lot of control over the layout and decoration of your content.</p>
<p><strong>Behaviour</strong> (usually JavaScript) is the third layer of the web and should be the last thing to build within a project cycle. Only use JavaScript to enhance the user&#8217;s experience. By making a site&#8217;s functionality dependent on JavaScript you&#8217;re immediately cutting out a percentage of users.</p>
<p>Once you have your content in place you can work on the presentation of that content, and then after that you can start adding JavaScript enhancements.</p>
<p><strong>Please note</strong>: I am talking about <strong>websites</strong> in this post, not web applications. Web Applications (many of which require JavaScript to operate) and the principles by which they&#8217;re built really have more in common with desktop applications than real websites. That said, it would be great if web application developers took a couple of the above points seriously!</p>
<h2>Not only JavaScript&#8230;</h2>
<p>The topic of this post does not <em>only</em> apply to JavaScript. Your content (HTML) and presentation (CSS) layers must also degrade in the same way. Nowadays most of the focus is on JavaScript because that happens to be the layer which most people screw up so frequently!</p>]]></content:encoded>
			<wfw:commentRss>http://james.padolsey.com/javascript/graceful-degradation-still-matters/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
