<?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>Monday By Noon &#187; progressive-enhancement</title>
	<atom:link href="http://mondaybynoon.com/tag/progressive-enhancement/feed/" rel="self" type="application/rss+xml" />
	<link>http://mondaybynoon.com</link>
	<description>A resource for Web designers and developers to read about and discuss their craft.</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:49:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Response JS: mobile-first progressive enhancement in HTML5.</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20111227%2Fresponse-js-mobile-first-progressive-enhancement-in-html5%2F&#038;seed_title=Response+JS%3A+mobile-first+progressive+enhancement+in+HTML5.</link>
		<comments>http://mondaybynoon.com/20111227/response-js-mobile-first-progressive-enhancement-in-html5/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 14:35:10 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[progressive-enhancement]]></category>
		<category><![CDATA[responsive design]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/?p=2293</guid>
		<description><![CDATA[Response JS: mobile-first progressive enhancement in HTML5.. This is a very interesting project. Responsive design will continue to be a steady topic of conversation in 2012 and tools like this help propel us to talking about it applicably. Without going into too much detail about responsive design itself, I&#8217;d like to point out what Response [...]<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2293&c=1627441880' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2293&c=1627441880' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://responsejs.com/">Response JS: mobile-first progressive enhancement in HTML5.</a>.</p>
<p>This is a very interesting project. Responsive design will continue to be a steady topic of conversation in 2012 and tools like this help propel us to talking about it applicably.</p>
<p>Without going into too much detail about responsive design itself, I&#8217;d like to point out what <a href="http://responsejs.com/">Response JS</a> does differently. Their spin is to be a mobile-first responsive design implementation. By piggybacking jQuery you&#8217;re able to be much more aggressive in optimizing for the mobile experience in a number of ways.</p>
<ol>
<li>Serve resolution-optimized images</li>
<li>Swap code blocks based on breakpoints</li>
<li>Methods and hooks to trigger responsive actions</li>
</ol>
<p>There&#8217;s definitely some cool stuff to check out, and with the Web moving to an increasingly <a href="http://mondaybynoon.com/20100621/is-it-now-acceptable-to-require-javascript/">JavaScript-dependent environment</a>, we might see more implementations along these lines to make responsive designs more mobile-focused.</p>
<p>As with all good things, there are drawbacks however. Being this aggressive can sometimes take away from the core purpose of being a single document with &#8216;conditional&#8217; styling that responds to the environment at hand. I&#8217;m not saying this direction is a bad thing, in fact I really like that it keeps the idea of progressive enhancement in mind with all it does.</p>
<p>Related: Nathan Smith&#8217;s <a href="http://adapt.960.gs/">Adapt.js</a> can&#8217;t go without mention here.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2293&c=1076478504' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=2293&c=1076478504' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20111227/response-js-mobile-first-progressive-enhancement-in-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8226; Revisiting Progressive Enhancement in CSS</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20080317%2Frevisiting-progressive-enhancement-in-css%2F&#038;seed_title=%26%238226%3B+Revisiting+Progressive+Enhancement+in+CSS</link>
		<comments>http://mondaybynoon.com/20080317/revisiting-progressive-enhancement-in-css/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 13:28:23 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[progressive-enhancement]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2008/03/17/revisiting-progressive-enhancement-in-css/</guid>
		<description><![CDATA[John Resig recently posted a bit on progressive CSS enhancement, which got me thinking a bit more about a post I wrote some time ago.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=126&c=637265856' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=126&c=637265856' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>In my opinion, <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a> is by far one of the most important things to embrace as a Web developer. Browser inconsistencies are a thorn in the sides of anyone making websites, but at the end of the day, visitors don&#8217;t care about the trouble you had making sure the design rendered well in all cases. It&#8217;s our job to ensure transparency in as many cases as possible.</p>
<p>When reading the term progressive enhancement, JavaScript is usually the first word to come to mind. It&#8217;s important to know that the idea of progressive enhancement is in no way limited to JavaScript, and can be applied to your documents in a number of ways. I just finished reading the latest post from John Resig, <a href="http://ejohn.org/blog/progressive-css-enhancement/">Progressive CSS Enhancement</a>, which featured an innovative idea that hadn&#8217;t crossed my mind before.</p>
<p><span id="more-126"></span></p>
<h2>Progressive Enhancement and CSS</h2>
<p>I&#8217;ve written about <a href="/2007/03/19/applying-progressive-enhancement-to-your-css/">applying progressive enhancement to your CSS</a> in the past, but John&#8217;s article goes above and beyond my idea. To summarize the idea behind my piece written some time ago, I&#8217;ll provide a quick synopsis. The general idea was to simply script the <abbr title="Document Objet Model">DOM</abbr> to include an external stylesheet which provided <code>classes</code>, <code>ids</code>, and other selectors which are only necessary should the reader have a fully capable browser. These style sheets not only included some extra <code>classes</code> etc., they included some value overrides on existing properties to help out with the behavioral aspect of the document. At the end of the day, applicable CSS would only be included should the browser be capable of effectively manipulating the DOM.</p>
<h3>Testing rendering engines with JavaScript</h3>
<p>John&#8217;s article outlines a much more detailed implementation of progressive enhancement of CSS based on actual tests of rendering behavior. I think it&#8217;s a fantastic idea and it&#8217;s one of those articles that lead me to sit back and wonder why I hadn&#8217;t thought of it. It also had me thinking back on past projects, wondering where I could have applied a technique such as this to make my life a bit easier. I think running some tests using the method outlined by John could have saved me some work by providing a (gracefully) degraded experience to a reader running <abbr title="Internet Explorer 6">IE6</abbr> (let&#8217;s not kid anyone by referring to sub-par browsers in general).</p>
<h3>What do you think?</h3>
<p>If you&#8217;ve had a chance to read John&#8217;s article, how do you feel about it? Do you think it blurs the line between document style and document behavior? Can you see yourself using some of these tests to help you create better websites? Do you think it puts too big a burden on the developer? Or is that burden something we&#8217;re forced to accept as a way of life?</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=126&c=358108867' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=126&c=358108867' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20080317/revisiting-progressive-enhancement-in-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8226; Applying Progressive Enhancement to Your CSS</title>
		<link>http://mondaybynoon.com/feeder/?FeederAction=clicked&#038;feed=Posts+%28RSS2%29&#038;seed=http%3A%2F%2Fmondaybynoon.com%2F20070319%2Fapplying-progressive-enhancement-to-your-css%2F&#038;seed_title=%26%238226%3B+Applying+Progressive+Enhancement+to+Your+CSS</link>
		<comments>http://mondaybynoon.com/20070319/applying-progressive-enhancement-to-your-css/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 13:04:57 +0000</pubDate>
		<dc:creator>Jonathan Christopher</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Examples]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[graceful-degradation]]></category>
		<category><![CDATA[progressive-enhancement]]></category>

		<guid isPermaLink="false">http://mondaybynoon.com/2007/03/19/applying-progressive-enhancement-to-your-css/</guid>
		<description><![CDATA[It is becoming more common for designers to neglect progressive enhancement once unobtrusive JavaScript is obtained.  There are countless JavaScript libraries available, full of code that is designed with progressive enhancement in mind.  The issue that&#8217;s becoming increasingly problematic, in my opinion, is the associated style that is required to achieve desired visual effects.<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=71&c=1638377114' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=71&c=1638377114' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s no denying that JavaScript can provide a much more pleasant user experience.  There have always been usability and accessibility concerns tied to JavaScript, but only recently have those concerns been carefully minded (by many people).  The first round of widespread JavaScript adoption resulted in obtrusive documents with error prone scripts that were hit or miss as far as browser support was concerned.  Times have taken great change for the better, and now JavaScript can be properly implemented to progressively enhance many documents.</p>
<p>There have been many pieces written on both <a href="http://en.wikipedia.org/wiki/Graceful_degradation">graceful degradation</a> as well as <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>.  Some people feel that they&#8217;re one and the same, but personally I think they are very similar, but each have unique characteristics.  While a document that gracefully degrades will transparently appear as normal to any reader, progressively enhancing the document adds layers of functionality, if available, after the fact.</p>
<h2>Relating Progressive Enhancement to Your <abbr title="Cascading Style Sheets">CSS</abbr></h2>
<p>Many times when you read about progressive enhancement on the Web, the discussion revolves around JavaScript.  The general idea is to provide unobtrusive JavaScript that will not interfere with the viewing of any document, regardless of browser capability.  As Web based applications become more advanced, there are many visual features being included to [hopefully] benefit the reader.</p>
<p>What&#8217;s unfortunate is that it is becoming more common for designers to neglect progressive enhancement once unobtrusive JavaScript is obtained.  There are countless JavaScript libraries available, full of code that is designed with progressive enhancement in mind.  The issue that&#8217;s becoming increasingly problematic, in my opinion, is the associated style that is required to achieve desired visual effects.</p>
<p>If your document will be enhanced when a reader doesn&#8217;t have a JavaScript equipped Web browser, it&#8217;s equally important that your <abbr title="Cascading Style Sheets">CSS</abbr> doesn&#8217;t interfere.  While JavaScript should only control document behavior, that behavior often involves making changes to the <acronym title="Document Object Model">DOM</acronym> that are in turn effected by the document style.</p>
<p>As an example, there are many times that designers will adjust the <code>visibility</code> or <code>display</code> of an element in their <abbr title="Cascading Style Sheets">CSS</abbr> for the sole purpose of toggling that property at some point.  What&#8217;s important to keep in mind is that readers without a JavaScript enabled browser will apply the entire style sheet, but have no script available to execute that fancy Ajax animation.</p>
<h3>Use JavaScript to Progressively Enhance your <abbr title="Cascading Style Sheets">CSS</abbr></h3>
<p>In my opinion, there&#8217;s nothing wrong with altering the <code>visibility</code> or <code>display</code> of certain elements to bring your Web application together.  It&#8217;s important to keep in mind the necessity of retaining progressive enhancement with your <abbr title="Cascading Style Sheets">CSS</abbr> as well.</p>
<p>On a recent project I ran into a situation in which I wanted certain elements to have stylistic elements that required JavaScript for full functionality.  It would have been a nice feature to add, but requiring JavaScript isn&#8217;t an option.  I needed a way to separate a small bit of <abbr title="Cascading Style Sheets">CSS</abbr> which would only be applied if the reader were able to make use of the JavaScript provided with the document.</p>
<p>I was reminded of an article I had read some time ago (that I&#8217;m having trouble locating) which mentioned using JavaScript to manipulate the <acronym title="Document Object Model">DOM</acronym> and add your <abbr title="Cascading Style Sheets">CSS</abbr>.  This way, the styles are only applied using the technology which will control other document behavior.  What we&#8217;ll do is generate a <code>link</code> element, append the proper attributes, and finally insert our element into the document tree by placing a snippet in the <code>head</code>.</p>
<p><span id="more-71"></span></p>
<pre><code>&lt;script type="text/javascript">
  //&lt;![CDATA[
    initStyles = document.createElement("link");
    initStyles.setAttribute("rel","stylesheet");
    initStyles.setAttribute("type","text/css");
    initStyles.setAttribute("media","screen,projection");
    initStyles.setAttribute("href","css/js-init.css");
    document.getElementsByTagName("head")[0].appendChild(initStyles);
  //]]&gt;
&lt;/script></code></pre>
<p>This snippet allows us to include the <abbr title="Cascading Style Sheets">CSS</abbr> to &#8216;initialize&#8217; the document in preparation for user interaction via JavaScript.  The style will only be applied if your reader has a JavaScript enabled browser, making it extremely likely that your Web app JavaScript will operate as intended.</p>
<h4>It&#8217;s not the only way</h4>
<p>Appending a style sheet to your document using a method like this may not be ideal in your opinion.  You could effectively use your existing <abbr title="Cascading Style Sheets">CSS</abbr> and manipulate the <acronym title="Document Object Model">DOM</acronym> in a way that doesn&#8217;t interfere at all with a JavaScript-less reader.  I&#8217;m not a fan of using JavaScript to directly control the style of an element.  To me, (something like) <code>element.style.color = 'red'</code> triggers nightmarish images of <code>&lt;FONT color="red">Lorem ipsum&lt;/FONT></code>.  I try to stray away from using document behavior to control document style, that&#8217;s reserved for <abbr title="Cascading Style Sheets">CSS</abbr>.</p>
<p>What is truly important is ensuring your document is still <em>equally usable</em> whether you&#8217;re working with JavaScript or not.  That goes beyond taking your scripts into consideration, any preparation you create with <abbr title="Cascading Style Sheets">CSS</abbr> must be monitored as well.</p>
<br /><p><a href='http://rss.buysellads.com/click.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=71&c=1439565839' target='_blank' rel='nofollow'>
				<img src='http://rss.buysellads.com/img.php?z=1269068&k=2ee344414ac81fbb0f9de6ab08e9831e&a=71&c=1439565839' border='0' alt='' /></a></p><p><a href='http://buysellads.com/buy/sitedetails/pubkey/2ee344414ac81fbb0f9de6ab08e9831e/zone/1269068' target='_blank'>Advertise here with BSA</a></p>]]></content:encoded>
			<wfw:commentRss>http://mondaybynoon.com/20070319/applying-progressive-enhancement-to-your-css/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Database Caching 1/64 queries in 0.055 seconds using apc
Object Caching 765/854 objects using apc

Served from: www.mondaybynoon.com @ 2012-02-09 07:03:44 -->
