<?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>Soma Design &#187; Web Standards</title>
	<atom:link href="http://somadesign.ca/blog/web-standards/feed/" rel="self" type="application/rss+xml" />
	<link>http://somadesign.ca</link>
	<description>Winnipeg Web Design · WordPress Development</description>
	<lastBuildDate>Thu, 19 Jan 2012 01:56:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Web Typography Pain Points</title>
		<link>http://somadesign.ca/2011/web-typography-pain-points/</link>
		<comments>http://somadesign.ca/2011/web-typography-pain-points/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 19:45:04 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[mattwie.be]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://somadesign.ca/?p=685</guid>
		<description><![CDATA[When I launched mattwie.be, I said that I had some things to say about the state of CSS typographic controls. I’m making good on that threat. Things have come a long way from too-long measures of Times New Roman on a mid-gray background, but CSS still lags behind page layout software in many areas, which [...]]]></description>
			<content:encoded><![CDATA[<p>When <a href="http://somadesign.ca/2011/redesign-of-mattwie-be/">I launched mattwie.be</a>, I said that I had some things to say about the state of CSS typographic controls. I’m making good on that threat. Things have come a long way from too-long measures of Times New Roman on a mid-gray background, but CSS still lags behind page layout software in many areas, which is only compounded by inconsistent browser implementation.</p>
<p>I’m going to especially focus on <code>::first-line</code> and <code>::first-letter</code> pseudo-elements which, to my surprise, WebKit has some <em>massive </em>problems with. Specifically:</p>
<ul>
<li>WebKit does not accept <code>text-transform</code> on the <code>::first-line</code> pseudo element. This <a href="https://bugs.webkit.org/show_bug.cgi?id=3409">embarrassing bug</a> is almost 6 years old and means that the common typographic practice of setting the first line of a paragraph in all-caps is impossible in Safari, Chrome, and—insanely—iBooks, which uses WebKit for its ebook rendering. The closest you can get is <code>font-variant: small-caps</code> which would work fine if we could also use <code>text-transform: lowercase</code>, but we can’t.</li>
<li>WebKit also doesn’t accept a <code>font-family</code> rule in both the <code>::first-letter</code> and <code>::first-line</code> pseudo-elements. The latter is usually OK, but the former really sucks. Even worse, in both cases, a <code>font-family</code> rule will cause them to fall back to the system font!</li>
<li>WebKit has a bug where modifying the <abbr title="Document Object Model">DOM</abbr> of an element that has a <code>::first-letter</code> <abbr title="Cascading Style Sheets">CSS</abbr> rule attached will result in a phantom first letter. See <a href="http://www.quirksmode.org/css/firstline.html">QuirksMode’s test case</a>. (Opera does this too.)</li>
</ul>
<p>Firefox isn’t all roses either, despite their terrific efforts in bringing long-awaited <a href="http://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/">OpenType features into CSS</a>. The main thing I noticed was that Firefox treats <code>::first-letter</code> oddly style-wise. It doesn’t seem to behave as a full-fledged block-level element when setting float or display properties. It also compounds the <code>font-size</code> when the <code>::first-letter</code> coincides with another DOM element that also sets the font-size.</p>
<p>Some other issues:</p>
<ul>
<li>WebKit sets its pseudo-small caps (when using <code>font-variant: small-caps</code>) smaller than other browsers. It also seems to add some pseudo-emboldening to better compensate for the fact that they’re not true small caps.</li>
<li>Inconsistencies between browsers in conforming to the <a href="http://www.w3.org/TR/css3-selectors/#first-letter"><code>::first-letter</code> spec</a> for including punctuation characters. Specifically, WebKit only seems to include punctuation that precedes the letter, not punctuation after it.</li>
</ul>
<p>I’ve created a <a href="http://somadesign.ca/demos/typography-tests/">test page</a> that illustrates a lot of these pain points. I also made a page that demonstrates a <a href="http://somadesign.ca/demos/typography-tests/webkit.html">WebKit normalization strategy</a> with some UA sniffing and the <a href="http://plugins.learningjquery.com/fancyletter/">jQuery fancyletter plugin</a>, which I contributed a small patch to along the way. I’d describe that strategy, but then this post would never be published. View source!</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2011/web-typography-pain-points/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Definitive @font-face Syntax</title>
		<link>http://somadesign.ca/2011/the-definitive-font-face-syntax/</link>
		<comments>http://somadesign.ca/2011/the-definitive-font-face-syntax/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 21:51:23 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[webfonts]]></category>

		<guid isPermaLink="false">http://somadesign.ca/?p=667</guid>
		<description><![CDATA[UPDATE: The syntax has already been improved to favour IE9 loading WOFF instead of EOT, thanks to some sleuthing by the CSS Ninja. UPDATE 2: The syntax now uses a ? instead of a # because local IE requests choked on the #. Ethan Dunham of Font Squirrel and Fontspring fame has just released the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE</strong>: The syntax has already been improved to favour IE9 loading WOFF instead of EOT, thanks to <a href="http://www.thecssninja.com/demo/css_fontface/">some sleuthing</a> by the CSS Ninja.<br />
<strong>UPDATE 2</strong>: The syntax now uses a ? instead of a # because local IE requests choked on the #.</p>
<p>Ethan Dunham of <a href="http://www.fontsquirrel.com/">Font Squirrel</a> and <a href="http://www.fontspring.com/">Fontspring</a> fame has just released <a href="http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax">the definitive @font-face syntax</a>. I’ve been hyping it up on my Twitter account, but this is too good to restrict to my followers there. The new syntax is clean, beautiful, and simple. It looks like:</p>
<pre><code>@font-face {
   font-family: 'MyFontFamily';
   src: url('myfont-webfont.eot?') format('eot'),
        url('myfont-webfont.woff') format('woff'),
        url('myfont-webfont.ttf')  format('truetype'),
        url('myfont-webfont.svg#svgFontName') format('svg');
}</code></pre>
<p>Here’s the magic he found:</p>
<blockquote><p>The <span style="text-decoration: line-through;">hack</span> trick that makes this work is the ‘?’ following the EOT filename. Seriously.</p></blockquote>
<p>Just awesome. Great work Ethan!</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2011/the-definitive-font-face-syntax/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Testing IE9’s WOFF Support</title>
		<link>http://somadesign.ca/2010/testing-ie9s-woff-support/</link>
		<comments>http://somadesign.ca/2010/testing-ie9s-woff-support/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 16:00:40 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[eot]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[ie9]]></category>
		<category><![CDATA[webfonts]]></category>
		<category><![CDATA[woff]]></category>

		<guid isPermaLink="false">http://somadesign.ca/?p=603</guid>
		<description><![CDATA[IE9 officially supports the new WOFF format for embedding webfonts. And there was much rejoicing. But, the question that’s been nagging away at me has been: how do we as web developers account for IE’s legacy EOT format while giving preferential treatment to the emerging WOFF standard? The short answer is: keep using Paul Irish’s [...]]]></description>
			<content:encoded><![CDATA[<p>IE9 officially supports the new <code><a title="Web Open Font Format" href="http://en.wikipedia.org/wiki/Web_Open_Font_Format">WOFF</a></code> format for embedding webfonts. And there was much rejoicing. But, the question that’s been nagging away at me has been: how do we as web developers account for IE’s legacy <code><a title="Embedded Open Type" href="http://en.wikipedia.org/wiki/Embedded_OpenType">EOT</a></code> format while giving preferential treatment to the emerging <code>WOFF</code> standard?</p>
<p>The short answer is: keep using Paul Irish’s <a href="http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/">bulletproof smiley syntax</a>. <code>WOFF</code> will be loaded by browsers that understand it, and legacy IE versions (8 and under) will load <code>EOT</code>.</p>
<p>The long answer: every <code>src</code> declaration within the <code>@font-face</code> block effectively resets the CSS parser’s attempt to find the appropriate font file. The rendering engine will use the first viable font source in the last <code>src</code> declaration inside each @font-face block. Paul Irish’s smiley syntax works perfectly here, since the first <code>src</code> declaration is only understood by IE &lt; 9 (due to the <code>EOT</code> format), while the second <code>src</code> declaration is understood by &gt;= IE9 and all other good browsers.</p>
<p>This produces a win-win situation. Good browsers that aren’t IE ignore the first <code>src</code> declaration because <code>EOT</code> is not viable to them. IE9 prefers the second <code>src</code> declaration because it understands <code>EOT</code>.</p>
<p>I have a few <a href="http://somadesign.ca/demos/IE9-WOFF-Test/">test cases to view</a>. They’re also available <a href="https://github.com/mattwiebe/IE9-WOFF-Test">on Github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2010/testing-ie9s-woff-support/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>That Delicious @font-face</title>
		<link>http://somadesign.ca/2009/that-delicious-font-face/</link>
		<comments>http://somadesign.ca/2009/that-delicious-font-face/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 04:26:39 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://somadesign.ca/?p=340</guid>
		<description><![CDATA[As of a couple of minutes ago, this site has relegated the venerable sIFR to the dustbin of history, opting instead for the bright future of true custom fonts using the @font-face CSS declaration that has been around since 1998. Why it took so long for custom web fonts to become an in-browser reality is [...]]]></description>
			<content:encoded><![CDATA[<p>As of a couple of minutes ago, this site has relegated the venerable <a title="sIFR 3" href="http://wiki.novemberborn.net/sifr3/">sIFR</a> to the dustbin of history, opting instead for the bright future of true custom fonts using the @font-face CSS declaration that has been around <a href="http://www.alistapart.com/articles/cssatten">since 1998</a>.</p>
<p><img class="alignnone size-full wp-image-346" title="font-face-vs-sifr2" src="http://somadesign.ca/wp-content/uploads/2009/09/font-face-vs-sifr2.png" alt="font-face-vs-sifr2" width="440" height="75" /></p>
<p>Why it took so long for custom web fonts to become an in-browser reality is a tangled tale involving browser wars, font foundry fears and a general inertia of rest. Many thorny licensing issues remain regarding the use of commercial fonts on the web, which is why there’s been a proliferation of third-party solutions such as <a href="http://typekit.com/">TypeKit</a>, <a href="http://fontdeck.com/">Fontdeck</a> and <a href="http://kernest.com/">Kernest</a> cropping up.</p>
<p>But there are also headache-free choices such as the excellent free fonts from Jos Buivenga’s <a href="http://www.josbuivenga.demon.nl/">exljbris Font Foundry</a>. Since Jos explicitly allows @font-face embedding, this site uses his excellent <a href="http://www.josbuivenga.demon.nl/delicious.html">Delicious</a> font for menus and headings, and will run smoother and faster than ever thanks to ditching sIFR’s Flash dependency.</p>
<p>Not all is sunshine and roses. The iPhone version of Safari has disabled @font-face linking for some reason unknown to me. IE has its own proprietary format that involves acronyms like <a href="http://en.wikipedia.org/wiki/Embedded_OpenType">EOT</a> and <a href="http://www.microsoft.com/typography/web/embedding/weft3/download.aspx">WEFT</a>, alongside a high probability of animal sacrifice to appease the demons who designed WEFT. But there is a light at the end of tunnel, and we’ve stepped through it.</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2009/that-delicious-font-face/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Web Standards Curriculum</title>
		<link>http://somadesign.ca/2008/web-standards-curriculum/</link>
		<comments>http://somadesign.ca/2008/web-standards-curriculum/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:31:10 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[free curriculum]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://somadesign.ca/?p=55</guid>
		<description><![CDATA[Opera has released the beginnings of a terrific (and free) web standards curriculum. This should be a good resource for designers to educate their clients!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.opera.com/wsc/"><img class="noborder" src="http://www.opera.com/education/images/wsc_468x60.jpg" alt="Supporting the Opera Web Standards Curriculum: Learn to build a better Web with Opera" width="440" /></a></p>
<p>Opera has just released (in conjunction with the <a href="http://developer.yahoo.com/">Yahoo! Web Developer Network</a>) its <a href="http://www.opera.com/wsc/">Opera Web Standards Curriculum</a>, hoping to promote the spread of web standards via a free curriculum. While I am well-versed in web standards, I think that a professional resource such as this is fantastic for educating clients as to why they should redesign their web sites with web standards. Some reasons why are succinctly stated in the <a href="http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/">introduction</a>:</p>
<ol>
<li><strong>Efficiency of code</strong>: As you’ll learn throughout the course, a lot of best practice web standards usage is all about reusing code—you can separate your HTML content from your stylistic (CSS) and behavioural (JavaScript) information, allowing your file sizes to be kept small, and code to be written only once, and then reused wherever it is needed.</li>
<li><strong>Ease of maintenance</strong>: This follows closely on from the last point—if you can write HTML only once, and then apply styles and behaviour wherever they are needed using classes and functions, then if you need to change something at a later date, you can just make the change in one place and it have it propagate throughout the entire web site, rather than having to specify that change everywhere that it is needed!</li>
<li><strong>Accessibility</strong>: The next two points are closely related—one of the big issues on the Web is <em>making web sites accessible to everyone, no matter who they are, regardless of circumstance</em>. This includes making web sites usable by people with disabilities such as blindness/visual impairment and motor impairment (ie, people who have restricted movement, and might not be able to use their hands properly, or at all). By using web standards and best practices, you’ll be able to make your web sites usable by this significant group of the web audience with no extra effort.</li>
<li><strong>Device compatibility</strong>: by this, I mean ensuring that your web sites will work not only across different platforms—ie Windows, Mac, Linux—but also alternative browsing devices, which these days can include mobile phones, TVs and games consoles. These devices have limitations such as screen size, processing power, control mechanisms available and more, but the good news is that again, using web standards and best practices, you can pretty much guarantee that your web sites will work on most of these devices. There are more mobile phones in the world than PCs, a lot of which are Internet–capable, so can you or your clients afford to miss out on this market? For more on mobile web development, check out some of the dedicated articles on <a href="http://dev.opera.com/articles/mobile/">dev.opera.com</a>.</li>
<li><strong>Web crawlers/search engines</strong>: By this, we are talking about what is termed <em>search engine optimization</em>—the practice of making your web sites as visible as possible to the so–called web crawlers that trawl the web and index web sites, and therefore giving you better search rankings on sites such as <a href="http://www.google.com/">Google</a>. There is a science to this (see SEO articles such as <a href="http://dev.opera.com/articles/view/intelligent-site-structure-for-better-se/">Intelligent site structure for better SEO!</a> and <a href="http://dev.opera.com/articles/view/semantic-html-and-search-engine-optimiza/">Semantic HTML and Search Engine Optimization</a>) but yet again, just by using web standards you will make your site a lot more visible on Google, Yahoo! etc, which is good for business.</li>
</ol>
<p>With 23 <a href="http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/#toc">articles available</a> and more on the way, Opera’s <a href="http://www.opera.com/wsc/">Web Standards Curriculum</a> looks like a winner!</p>
<p>(HT: <a href="http://www.hicksdesign.co.uk/journal/opera-web-standards-curriculum">Jon Hicks</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2008/web-standards-curriculum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Standards and IE 8 Part 2</title>
		<link>http://somadesign.ca/2008/web-standards-and-ie-8-part-2/</link>
		<comments>http://somadesign.ca/2008/web-standards-and-ie-8-part-2/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 00:42:57 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer 8]]></category>
		<category><![CDATA[version targeting]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://somadesign.ca/blog/web-standards/2008/web-standards-and-ie-8-part-2/</guid>
		<description><![CDATA[The IE Team has just changed their mind about and decided to promote web standards by default in IE 8. Web standards-lovers everywhere sing hallelujah, while incompetent designers will no doubt scream murder. ]]></description>
			<content:encoded><![CDATA[<p>The IE team has just announced on their blog that <a href="http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx" title="Microsoft's Interoperability Principles and IE8">IE8 will default to their latest and greatest standards mode</a>, in an about-face from their previous stance that IE8 would default to IE7’s rendering mode, <a href="http://somadesign.ca/blog/web-standards/2008/web-standards-and-ie-8/" title="Web Standards and IE 8">which I covered</a> when it was first announced. Their previous proposal would have required developers to insert an opt-in meta tag (or http header) in order to obtain IE8’s rendering mode, leaving the thousands of sites that target IE7’s various mis-handled standards implementations none the wiser.</p>
<p>I applaud the IE team for listening to developer feedback. Although I defended their previous proposal and tried to make the best of it, I’m much happier about this. Web standards and good development practices will receive another boost, as people will be screaming bloody murder at their broken sites. Developers will be pointed to the meta tag and essentially told, “we’re moving ahead on the web, but we had pity on your 5-year old practices and decided to let you play too.” Designers who don’t know a <code>table</code> from a <code>div</code> will either be forced to learn about (X)HTML, CSS, and JavaScript, or be forced further into irrelevance and obscurity.</p>
<p>IE team, I salute you. You will, undoubtedly, have a lot of ignorant and incompetent developers and designers frothing at the mouth when IE8 releases, but you made the right move.</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2008/web-standards-and-ie-8-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Standards and IE 8</title>
		<link>http://somadesign.ca/2008/web-standards-and-ie-8/</link>
		<comments>http://somadesign.ca/2008/web-standards-and-ie-8/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 04:06:26 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[a list apart]]></category>
		<category><![CDATA[internet explorer 8]]></category>
		<category><![CDATA[version targeting]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://somadesign.ca/blog/web-standards/web-standards-and-ie-8/</guid>
		<description><![CDATA[Internet Explorer and web standards have never been the best of friends. IE 8 proposes some non-standard behavior in the ultimate hopes to promote better web standards. Is this the way forward or a painful regression?]]></description>
			<content:encoded><![CDATA[<p>There’s trouble brewing in the web world over Internet Explorer 8 and web standards. For an introduction to what the fuss is about, go to A List Apart’s <a href="http://www.alistapart.com/issues/251" title="A List Apart: Issue #251">issue #251</a> and read both articles.<br />
The ensuing backlash has been large and heated. Digital Web has collected <a href="http://www.digital-web.com/news/2008/01/IE8_Version_Targeting_causes_quite_a_stir" title="IE8 Version Targeting causes quite a stir">some of the reactions</a>.</p>
<p>Here’s my take on things: it’s a mixed bag. It’s an imperfect solution to a horrendous problem. Internet Explorer has the distinction of being the ubiquitous browser on the web, while having the worst web standards support of any browser. It’s a catch-22: if IE’s developers push for quality web standards support in IE 8 (which, by all accounts they are), they will break the many sites out there that were <em>not</em> designed with web standards in mind. Let’s face it: a lot of the web is built only for IE, and people <em>will</em> be confused and outraged if IE 8 breaks their poorly built–but functional–sites. On the other hand, focusing too much on keeping existing sites working will ensure that IE 8 continues to lag far behind in its support for web standards.</p>
<p>So, version targeting is an imperfect solution to an imperfect web. I wish that it wasn’t necessary, but I know that I’ll be using it right alongside my conditional comments and CSS hacks to design sites built on web standards that work in all the major browsers, even if I have to kick the crap out of IE to make it cooperate. Maybe I’ll only have to <em>ask</em> it now.</p>
]]></content:encoded>
			<wfw:commentRss>http://somadesign.ca/2008/web-standards-and-ie-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Object Caching 736/860 objects using apc

Served from: somadesign.ca @ 2012-02-01 18:18:11 -->
