<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.yuiblog.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>YUI Blog » Design</title>
	
	<link>http://www.yuiblog.com/blog</link>
	<description>The official blog of the YUI Project.</description>
	<lastBuildDate>Fri, 14 Jun 2013 20:45:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.yuiblog.com/yuiblog/design" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="yuiblog/design" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>CSS Border Tricks with Collapsed Boxes</title>
		<link>http://www.yuiblog.com/blog/2011/03/08/css-border-tricks-with-collapsed-boxes/</link>
		<comments>http://www.yuiblog.com/blog/2011/03/08/css-border-tricks-with-collapsed-boxes/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 23:23:13 +0000</pubDate>
		<dc:creator>Thierry Koblentz</dc:creator>
				<category><![CDATA[CSS 101]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[border hacks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[imageless design]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=3043</guid>
		<description><![CDATA[These tricks will help you achieve designs without resorting to the use of images, CSS3 gradient or extraneous markup. By collapsing boxes with zero line-height and height values, we can display content outside of the content box, over borders. Bi-color background This example does not include IE 6/7 workarounds (check the source code of this [...]]]></description>
				<content:encoded><![CDATA[<p> These tricks will help you achieve designs without resorting to the use of images, CSS3 gradient or extraneous markup. By collapsing boxes with zero <code>line-height</code> and <code>height</code> values, we can display content <em>outside of the content box</em>, over borders.</p>
<h3>Bi-color background</h3>
<p>This example does not include IE 6/7 workarounds (check the source code of this <a href="http://tjkdesign.com/Y!/YUIBlog/border_hacks/demo.html">demo page</a> for IE fixes).</p>
<p><a class="img" href="http://tjkdesign.com/Y!/YUIBlog/border_hacks/demo.html#bi-color-background"><img src="http://yuiblog.com/assets/css-border-tricks/bi-color-background.png" alt="Bi-color background screenshot" width="551" height="106"></a></p>
<pre><code>.parent {
  display:inline-block;
  text-align: center;
  border: 1px solid #cecece;
}
.child {
  display:inline-block;
  line-height: 0;
  height: 0;
  border-top: 1em solid #ffc;
  border-bottom: 1em solid #fdcf46;
  padding:0 .6em;
  vertical-align:bottom;
}

&lt;ul id="menuBar-A"&gt;
&lt;li&gt;&lt;a href="#"&gt;About Us&lt;/a&gt;&lt;/li&gt;
&lt;li class="selected"&gt;&lt;a href="#"&gt;Contact Us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;Products&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<h3>Dots and pipes between list items</h3>
<p>This example shows properly across browsers after some simple IE fixes.</p>
<p><a class="img" href="http://tjkdesign.com/Y!/YUIBlog/border_hacks/demo.html#dots-and-pipes"><img src="http://yuiblog.com/assets/css-border-tricks/dots-and-pipes.png" alt="Dots and pipes screenshot" width="458" height="67"></a></p>
<pre><code>ul.one,
ul.two {
    margin-left:0;
    display:inline-block;
    *display:inline;
    zoom:1;
    height:12px;
    line-height:12px;
    padding:0;
}

li {
    float:left;
    display:inline;
    height:2px;
    line-height:2px;
    position:relative;
    top:.3em;
}

ul.two {border-left:1px solid #333;}

ul.one li {border-left:2px solid #333;}

ul.two li {border-right:2px solid #333;}

ul.one li.first-child,
ul.two li.last-child {
    border:0;
}

a {
    color:#000;
    padding:.4em .9em;
    *position:relative;
}

&lt;div id="menuBar-B"&gt;
&lt;ul class="us"&gt;
&lt;li&gt;&lt;a href="#"&gt;About Us&lt;/a&gt;&lt;/li&gt;
&lt;li class="selected"&gt;&lt;a href="#"&gt;Contact Us&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul class="ourOffer"&gt;
&lt;li class="services"&gt;&lt;a href="#"&gt;Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;Products&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</code></pre>
<h3>Left and right-pointing triangles</h3>
<p>This example does not include IE 6/7 workarounds (check the source code of this <a href="http://tjkdesign.com/Y!/YUIBlog/border_hacks/demo.html">demo page</a> for IE fixes).</p>
<p><a class="img" href="http://tjkdesign.com/Y!/YUIBlog/border_hacks/demo.html#left-and-right-pointing-triangles"><img src="http://yuiblog.com/assets/css-border-tricks/left-and-right-triangles.png" alt="Left and right-pointing triangles screenshot" width="193" height="157"></a></p>
<pre><code>#box {
  line-height: 0;
  height: 0;
  border: .4em solid transparent;
  border-left-color: #333;
  border-right-color: #333;
  padding: 0 .3em;
  display: inline-block;
}

&lt;ul id="menuBar-C"&gt;
&lt;li&gt;&lt;a href="#"&gt;About Us&lt;/a&gt;&lt;/li&gt;
&lt;li class="selected"&gt;&lt;a href="#"&gt;Contact Us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#"&gt;Products&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<h4>IE 6 and border transparency</h4>
<p>IE 6  does not support the keyword &quot;<code>transparent</code>&quot; for border color. When you use this value, IE 6 draws a <strong>black</strong> border. </p>
<p>The fix for this is to use the <a href="http://msdn.microsoft.com/en-us/library/ms532982(VS.85).aspx">chroma filter</a> which <cite>displays a specific color of the content of the object as transparent</cite>. For example, to create a right pointing arrow you could use this rule:</p>
<pre><code>
#Box {
  height: 0; 
  width: 0;
  border: 10px solid transparent;
  font-size: 0;
  _border-color: pink;
  _filter: chroma(color="pink"); 
  border-left-color: #333;
}</code></pre>
<p>The font-size declaration is another workaround for IE 6. It is to make sure this browser does not increase the height of the box. </p>
<p><strong>Stop the presses!</strong> I just learned a new trick (thank you Chungho Fang):</p>
<blockquote>
<p>The magic [to create border transparency in IE] is to set ‘border-style’ to either dashed or dotted</p>
</blockquote>
<hr />
<p> That&#8217;s it! This is just one more way to use borders to achieve image-less design.</p>
<h2>Further reading</h2>
<ul>
<li><a href="http://tantek.com/CSS/Examples/polygons.html">A Study of Regular Polygons</a></li>
<li><a href="http://meyerweb.com/eric/css/edge/slantastic/demo.html">slantastic</a></li>
<li><a href="http://infimum.dk/HTML/slantinfo.html">Slants</a></li>
</ul>
<div class="authorbox gainLayout">
<p>
        <em><strong><br />
                <img style="margin-left:10px" align="right" alt="" src="http://www.gravatar.com/avatar/3f8729572facdeaae72b2d1afa32fb71?&amp;s=90">About the author:</strong> Thierry Koblentz is a front-end engineer at Yahoo!<br />
            <br /> He owns<br />
            <a title="TJK Design" href="http://www.tjkdesign.com/">TJK Design</a>,<br />
            <a title="Lightweight CSS framework" href="http://www.ez-css.org/">ez-css.org</a> and<br />
            <a title="Interactive CSS tutorial" href="http://www.css-101.org/">css-101.org</a>. You can follow Thierry on Twitter at<br />
            <a title="Thierry Koblentz on Twitter" href="http://twitter.com/thierrykoblentz">@thierrykoblentz</a><br />
        </em>.
    </p>
</div>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=75z5_iSE2GQ:knBdy7RxwW0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=75z5_iSE2GQ:knBdy7RxwW0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=75z5_iSE2GQ:knBdy7RxwW0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=75z5_iSE2GQ:knBdy7RxwW0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=75z5_iSE2GQ:knBdy7RxwW0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2011/03/08/css-border-tricks-with-collapsed-boxes/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The CSS Position Property</title>
		<link>http://www.yuiblog.com/blog/2010/12/14/the-css-position-property/</link>
		<comments>http://www.yuiblog.com/blog/2010/12/14/the-css-position-property/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 15:35:50 +0000</pubDate>
		<dc:creator>Thierry Koblentz</dc:creator>
				<category><![CDATA[CSS 101]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[position]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=3046</guid>
		<description><![CDATA[About the author: Thierry Koblentz is a front-end engineer at Yahoo! He owns TJK Design, ez-css.org and css-101.org. You can follow Thierry on Twitter at @thierrykoblentz . This property applies to all elements. It has five possible values: static relative absolute fixed inherit position:static From section 9 Visual formatting model: The box is a normal [...]]]></description>
				<content:encoded><![CDATA[<div class="authorbox gainLayout">
<p>
        <em><strong><br />
                <img style="margin-left:10px" align="right" alt="" src="http://www.gravatar.com/avatar/3f8729572facdeaae72b2d1afa32fb71?&amp;s=90">About the author:</strong> Thierry Koblentz is a front-end engineer at Yahoo!<br />
            <br /> He owns<br />
            <a title="TJK Design" href="http://www.tjkdesign.com/">TJK Design</a>,<br />
            <a title="Lightweight CSS framework" href="http://www.ez-css.org/">ez-css.org</a> and<br />
            <a title="Interactive CSS tutorial" href="http://www.css-101.org/">css-101.org</a>. You can follow Thierry on Twitter at<br />
            <a title="Thierry Koblentz on Twitter" href="http://twitter.com/thierrykoblentz">@thierrykoblentz</a><br />
        </em>.
    </p>
</div>
<p>This property applies to all elements. It has five possible values:</p>
<ul>
<li><code>static</code></li>
<li><code>relative</code></li>
<li><code>absolute</code></li>
<li><code>fixed</code></li>
<li><code>inherit</code></li>
</ul>
<h3>position:static</h3>
<p>From section 9 <a title="Normal Flow" href="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">Visual formatting model</a>:</p>
<blockquote cite="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">
<p>The box is a normal box, laid out according to the <a href="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal flow</a>. The<br />
<a href="http://www.w3.org/TR/CSS21/visuren.html#propdef-top"><code>top</code></a>,<br />
<a href="http://www.w3.org/TR/CSS21/visuren.html#propdef-right"><code>right</code></a>,<br />
<a href="http://www.w3.org/TR/CSS21/visuren.html#propdef-bottom"><code>bottom</code></a>,<br />
and <a href="http://www.w3.org/TR/CSS21/visuren.html#propdef-left"><code>left</code></a><br />
properties do not apply. </p>
</blockquote>
<h4>Things to notice in <a title="Static scheme, demo" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/static.html">this demo</a></h4>
<ul>
<li> The second box shows exactly where it would be <em>without</em> the position declaration.</li>
<li>The value given to <code>top</code> does <strong>not</strong> apply because in a &#8216;static&#8217; context, the <em>computed</em> value of <a href="http://www.w3.org/TR/CSS21/visuren.html#position-props">box offsets</a> is always <code>auto</code>.
</li>
</ul>
<h4>Things to remember</h4>
<ul>
<li>If the <code>position</code> property of an element has the value of <code>static</code>, that element is <strong>not</strong> said to be <em>positioned</em>.</li>
<li>Because <code>static</code> is the initial value (the default value), there is no need to include such styling in a declaration block unless it is to <em>overwrite</em> a different value.</li>
</ul>
<h3>position:relative</h3>
<p>From section 9 <a title="Relative Positioning" href="http://www.w3.org/TR/CSS21/visuren.html#relative-positioning">Visual formatting model</a>:</p>
<blockquote cite="http://www.w3.org/TR/CSS21/visuren.html#relative-positioning">
<p>The box&#8217;s position is calculated according to the normal flow (this is called the position in <a href="http://www.w3.org/TR/CSS21/visuren.html#normal-flow">normal flow</a>). Then the box is offset relative to its normal position. When a box B is relatively positioned, the position of the following box is calculated as though B were not offset.</p>
</blockquote>
<h4>Things to notice in <a title="Relative scheme, demo" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/relative.html">this demo</a></h4>
<ul>
<li>Box &#8216;two&#8217; has moved down by 300 pixels, but box &#8216;three&#8217; as well as the  following paragraphs stayed in place. It appears like if the box was lifted from the page, leaving its footprint behind. This is because offsetting a relatively positioned box <strong>does not disturb the flow</strong>. </li>
<li>The relatively positioned box  <em>overlaps</em> the following elements. It shows <em>in front</em> of other boxes.</li>
</ul>
<h4>Things to remember</h4>
<ul>
<li>Computed values are always left = -right and top = -bottom. If the <code>direction</code> of the containing block is <code>ltr</code>, the value   of &#8216;left&#8217; wins and &#8216;right&#8217;  becomes -&#8217;left&#8217;. If <code>direction</code> of the containing block is <code>rtl</code>, &#8216;right&#8217; wins and &#8216;left&#8217; is ignored. Authors could take advantage of how things work by setting equal value to opposite properties.</li>
<li>Unlike with the &#8216;absolute&#8217; model, <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> properties cannot stretch nor shrink the box (they cannot change its size).
</li>
</ul>
<h3>position:absolute</h3>
<p>From section 9 <a title="Absolute Positioning" href="http://www.w3.org/TR/CSS21/visuren.html#absolutely-positioned">Visual formatting model</a>:</p>
<blockquote cite="http://www.w3.org/TR/CSS21/visuren.html#absolutely-positioned">
<p>The box&#8217;s position (and possibly size) is specified with the <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> properties. These properties specify offsets with respect to the box&#8217;s <a href="http://www.w3.org/TR/CSS21/visuren.html#containing-block">containing block</a>. A absolutely positioned box is removed from  the normal flow entirely (it has no impact on later siblings)  and assigned a position with respect to a containing block. Also, though <a href="http://www.w3.org/TR/CSS21/visuren.html#absolutely-positioned">absolutely positioned</a> boxes have margins, they do not <a href="http://www.w3.org/TR/CSS21/box.html#collapsing-margins">collapse</a> with any other margins.</p>
</blockquote>
<h4>Things to notice in <a title="Absolute scheme, demo" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/absolute.html">this demo</a></h4>
<ul>
<li>Because no box offset is specified, box &#8216;two&#8217; did not move from its original position, but if we had used <code>top:0;left:0;</code> for example, that box would be at the <a href="demos/absolute-top-left.html">top left corner of the viewport</a>.</li>
<li> Layout wise, it is like box &#8216;two&#8217; had been styled with <code>display:none</code>. The box has been<em> removed from the flow.</em></li>
<li>With box &#8216;two&#8217; out of the flow, box &#8216;three&#8217; has moved up against box &#8216;one&#8217; (the paragraphs have followed).</li>
<li>Like all elements removed from the flow, box &#8216;two&#8217; has horizontally shrink-wrapped.</li>
</ul>
<h4>Things to remember</h4>
<ul>
<li>For <strong>any</strong> &#8216;absolute&#8217; or &#8216;fixed&#8217; positioned element the computed value for <code>display</code> is <code>block</code>.</li>
<li>For <strong>any</strong> &#8216;absolute&#8217; or &#8216;fixed&#8217; positioned element the computed value for <code>float</code> is <code>none</code>.</li>
<li> A &#8216;containing block&#8217; is a box that establishes a positioning context. <cite>It is established by the nearest ancestor with a <a href="http://www.w3.org/TR/CSS2/visuren.html#propdef-position">&lsquo;position&rsquo;</a> of &lsquo;absolute&rsquo;, &lsquo;relative&rsquo;  or &lsquo;fixed&rsquo;.</cite> This means the parent box may not be the <em>containing block</em>.</li>
<li>The default position of a absolutely positioned box is <em>not</em> always the same as if it was styled with top:0;left:0; (in a LTR context). And this is for two reasons:
<ol>
<li>The containing block for a positioned  box is established by the <em>nearest positioned ancestor</em>; if there is none, the reference container is the root element. The containing block in which the <a href="http://www.w3.org/TR/CSS21/conform.html#root">root element</a> lives is a rectangle called the initial containing block. For continuous media, it has the dimensions of the <a href="http://www.w3.org/TR/CSS21/visuren.html#viewport">viewport</a> (a window or other viewing area on the screen) and is anchored at the canvas origin. <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/the-viewport-is-the-containing-block.html">This example</a> shows the box positioned in relation to the viewport (the default containing block). </li>
<li>The element is positioned in reference to the padding box, <em>not the content box nor the border box</em> of the containing block.    This <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/body-is-the-containing-block.html">new example</a> demonstrates where  box &#8216;two&#8217; would be if the edges of the padding box did not touch the edges of the content box (the containing block being <code>body</code>).</li>
</ol>
</li>
<li>The <em>size</em> of the box may be the result of the <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> property values. For examples, zeroing out all properties will make the box stretch to match the dimensions of the padding box of its containing block. See <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/zeroing-out-box-offsets.html">zeroing out all box offsets</a> (note: ie6 <em>does not</em> stretch the box).</li>
<li>To create a mask overlay that does <em>not</em> scroll with the document (as in the <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/zeroing-out-box-offsets.html">previous example</a>), either use <code>fixed</code> <em>instead</em> of <code>absolute</code> or style <code>body</code> with <code>position:relative</code> as the <strong>initial positioning block</strong> <em>is</em> the viewport (styling <code>html</code> would not work in IE). As this <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/overlay.html">overlay demo</a> shows.</li>
<li><code>position:absolute</code> triggers <a href="http://www.satzansatz.de/cssd/onhavinglayout.html">haslayout</a>.</li>
</ul>
<h4>Most important thing to remember</h4>
<p>Because this positioning scheme removes boxes from the flow, it is considered bad pratice to use it for layout.</p>
<h3>position:fixed</h3>
<p>From section 9 <a title="Fixed Positioning" href="http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning">Visual formatting model</a>:</p>
<blockquote cite="http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning">
<p>Fixed positioning is a subcategory of absolute positioning. The only difference is that for a fixed positioned box, the containing block is established by the <a href="http://www.w3.org/TR/CSS21/visuren.html#viewport">viewport</a>. For <a href="http://www.w3.org/TR/CSS21/media.html#continuous-media-group">continuous media</a>, fixed boxes do not move when the document is scrolled. In this respect, they are similar to <a href="http://www.w3.org/TR/CSS21/colors.html#background-properties">fixed background images</a>. For <a href="http://www.w3.org/TR/CSS21/page.html">paged media</a> (where the content of the document is split into one or more discrete pages), boxes with fixed positions are repeated on every page. This is useful for placing, for instance, a signature at the bottom of each page. Boxes with fixed position that are larger than the page area are clipped. Parts of the fixed position box that are not visible in the initial containing block will not print. </p>
</blockquote>
<p>Things to notice in <a title="Fixed scheme, demo" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/fixed.html">this demo</a>:</p>
<ul>
<li>Since fixed positioning is a subcategory of absolute positioning, everything that was true for &#8216;absolute&#8217; is also true for &#8216;fixed&#8217; (the element shrink-wraps, it is removed from the flow, etc.).</li>
<li>The box is positioned in <em>relation to the viewport</em>, it does not <em>scroll</em> with the page.</li>
<li>In IE 6, the box appears <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/static.html">as a <strong>static</strong> box</a>, but there is a &quot;funny&quot; <a title="IE 6 hack to mimic position:fixed" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/fixed-for-ie6.html">workaround</a> for that.</li>
<li>When <em>printing</em> the document, box &#8216;two&#8217; appears on every single page.</li>
</ul>
<p>Things to remember:</p>
<ul>
<li>The box&#8217;s position is calculated according to the &#8216;absolute&#8217; model, but in addition, the box is <a href="http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning">fixed</a> with respect to some reference. In the case of handheld, projection, screen, tty, and tv media types, the box is fixed with respect to the <a href="http://www.w3.org/TR/CSS21/visuren.html#viewport">viewport</a> and does not move when scrolled.</li>
<li>Content may be inaccessile to sighted users if part of the box is outside of the viewport area.</li>
<li>In the case of the print media type, authors  may want to prevent an element from appearing on each printed page. Maybe using a @media rule, as in:
<pre>@media print { 
  #logo {position: static;}
}</pre>
</li>
<li>Like <code>position:absolute</code>, <code>position:fixed</code> will trigger <a href="http://www.satzansatz.de/cssd/onhavinglayout.html">haslayout</a> in IE.</li>
</ul>
<h3>position:inherit</h3>
<p>If <code>position:inherit</code> is specified for a given box, then it will take the same computed  value as the property for the box&#8217;s parent. </p>
<p>Note that IE 6 and 7 do not support this keyword except when used with <code>direction</code> and <code>visibility</code> (see the <a href="http://reference.sitepoint.com/css/inheritvalue">CSS Property Value inherit</a>). </p>
<h3>Things to consider</h3>
<h4>Box offsets</h4>
<p>Be aware that for absolutely and fixed positioned boxes, values set in percentage for <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> are computed according to the dimensions of the <strong>containing block</strong> (which may not be the parent box).</p>
<h4>&#8216;position&#8217; and &#8216;overflow&#8217;</h4>
<p>A box styled with <code>overflow:hidden</code> will clip <em>relatively</em> positioned   elements (nested boxes), but it will not always hide <em>absolutely</em> positioned ones. This is because the parent box is not always the containing block (<cite>the nearest ancestor with a <a href="http://www.w3.org/TR/CSS2/visuren.html#propdef-position">&lsquo;position&rsquo;</a> of &lsquo;absolute&rsquo;, &lsquo;relative&rsquo;  or &lsquo;fixed&rsquo;)</cite>. </p>
<p>In short, this means  absolutely positioned elements  will show outside of a box styled with overflow:hidden unless  their containing block is the box itself or an element  inside the said box. This <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/overflow-and-ap.html">demo page</a> shows how things work.</p>
<h4>Margins</h4>
<p>Authors can use margins on elements regardless of their positioning scheme.</p>
<h4>The case of IE</h4>
<p>In IE,  &#8216;positioning&#8217; a box may be a blessing or a curse:</p>
<ul>
<li>In IE6,  <code>position:relative (with haslayout)</code> can be used to prevent a box styled with negative margins from <a title="IE6 clips part of the box" href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/ie6-and-negative-margin-01.html">being <em>clipped</em></a> by a parent container (see how <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/ie6-and-negative-margin-02.html">positioning the box</a> fixes this issue).</li>
<li>Positioning an element  may &quot;<strong>disturb</strong>&quot; the way boxes stack   in IE 6 and 7 as this may establish a new stacking context (see a <a href="http://tjkdesign.com/Y!/YUIBlog/the-position-property/demos/ie-6-7-and-stacking-issue.html">test case</a>).</li>
</ul>
<h4><a name="the-case-of-IE"></a>Stacking order and stacking level</h4>
<ul>
<li>According to the sequence in the source code, <em>positioned</em> boxes come<em> in front</em> of floats and boxes in the normal flow.</li>
<li>Authors can specify stack levels via the &#8216;z-index&#8217; property <strong>only</strong> on positioned boxes.</li>
<li>In IE6 and 7, the simple fact of positioning a box can establish a stacking context (see above, &quot;<a href="#the-case-of-IE">the case of IE</a>&quot;).</li>
</ul>
<h4>Mobile devices</h4>
<p>Read PPK&#8217;s article, <a href="http://www.quirksmode.org/blog/archives/2010/12/the_fifth_posit.html">the [sixth] position value</a>, to find out why mobile browser vendors cannot really support <code>position:fixed</code>.</p>
<h3>Further readings</h3>
<ul>
<li><a href="http://www.w3.org/TR/CSS2/visuren.html">Visual formatting model</a></li>
<li><a href="http://reference.sitepoint.com/css/position">Position (CSS property)</a></li>
<li><a href="http://www.quirksmode.org/css/position.html">The position declaration</a></li>
</ul>
<p>A &quot;ghost&quot; analogy by<br />
 <b>DrLangbhani</b>:</p>
<blockquote cite="http://www.alistapart.com/comments/css-positioning-101/P32/#33">
<p>An element with position relative is always offset relative to it&#8217;s <em>normal position in the flow</em>. In other words, it is shifted relative to where it would be under normal circumstances, and shifting it <em>doesn&#8217;t</em> affect the layout of elements around it. It&#8217;s like a ghost that has left its body behind. A body that has width and height and affects its surroundings but is invisible. The ghostly box is able to move but is still connected to the old body in that its position is still measured from it. Now an element with position absolute is even easier. It no longer affects its surroundings at all (it&#8217;s pulled out of the layout flow). It&#8217;s now a true ghost with no body left behind. As far as its sibling elements are concerned it&#8217;s as if it no longer exists. To get its position, look through each of its parent elements until you find one with either position: relative, [position: fixed,] or position: absolute. That element will serve as the reference point. Only if you don&#8217;t find a &quot;positioned&quot; element will it be offset from the document.</p>
</blockquote>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=Qxzoft2tzjA:6MBa-jEU9eY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=Qxzoft2tzjA:6MBa-jEU9eY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=Qxzoft2tzjA:6MBa-jEU9eY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=Qxzoft2tzjA:6MBa-jEU9eY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=Qxzoft2tzjA:6MBa-jEU9eY:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2010/12/14/the-css-position-property/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Customizing the Mobile Safari tap highlight color</title>
		<link>http://www.yuiblog.com/blog/2010/10/01/quick-tip-customizing-the-mobile-safari-tap-highlight-color/</link>
		<comments>http://www.yuiblog.com/blog/2010/10/01/quick-tip-customizing-the-mobile-safari-tap-highlight-color/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 19:34:49 +0000</pubDate>
		<dc:creator>Ryan Grove</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[highlight]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[tap]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=2695</guid>
		<description><![CDATA[Ever notice the semi-transparent gray background that appears sometimes when you tap on something in Mobile Safari? That&#8217;s the default tap highlight color, which Mobile Safari displays when you tap on an element with a JavaScript click handler. Unfortunately, Mobile Safari has no way to distinguish between normal click subscribers and delegated click subscribers, which [...]]]></description>
				<content:encoded><![CDATA[<p>
Ever notice the semi-transparent gray background that appears sometimes when you tap on something in Mobile Safari? That&#8217;s the default tap highlight color, which Mobile Safari displays when you tap on an element with a JavaScript click handler.
</p>
<p>
Unfortunately, Mobile Safari has no way to distinguish between normal click subscribers and delegated click subscribers, which is when the click event is attached to a container rather than to each child of that container. As a result, a delegated click will result in the entire container being highlighted rather than just the item that was tapped, and this can be both ugly and confusing for the user.
</p>
<p>
The good news is that Mobile Safari supports a CSS extension called <code>-webkit-tap-highlight-color</code>, which you can use to customize the color of the tap highlight or hide it completely.
</p>
<p>
The <code>-webkit-tap-highlight-color</code> property accepts any standard CSS color value, but you&#8217;ll probably want to provide an rgba value in order to control the alpha transparency. Disabling the tap highlight is as simple as setting the alpha value to <code>0</code>, like so:
</p>
<pre><code>#container {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}</code></pre>
<p>
Fire up your favorite iOS device and <a href="http://dl.dropbox.com/u/131998/yui/demos/webkit-tap-highlight/index.html">view this simple demo</a> to see what a delegated click looks like both with and without a tap highlight. For more details on <code>-webkit-tap-highlight-color</code> and other useful Mobile Safari CSS extensions, see the <a href="http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Introduction.html">Safari CSS Reference</a>.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=I7o2vLZkVvE:A5Dr-IYyhts:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=I7o2vLZkVvE:A5Dr-IYyhts:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=I7o2vLZkVvE:A5Dr-IYyhts:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=I7o2vLZkVvE:A5Dr-IYyhts:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=I7o2vLZkVvE:A5Dr-IYyhts:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2010/10/01/quick-tip-customizing-the-mobile-safari-tap-highlight-color/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Alternative Skins for YUI 3.1.0 Slider</title>
		<link>http://www.yuiblog.com/blog/2010/04/06/alternative-slider-skins/</link>
		<comments>http://www.yuiblog.com/blog/2010/04/06/alternative-slider-skins/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 14:03:26 +0000</pubDate>
		<dc:creator>Jeff Conniff</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[skins]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[YUI 3]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=1564</guid>
		<description><![CDATA[About the Author: Jeff Conniff is an interaction designer, prototyper, and visual designer working at Yahoo since 2005 in the HotJobs and Small Business groups. Jeff has a degree in Graphic Design from San Jose State University, and has worked at many companies designing software user experience since 1983. Jeff uses the YUI platform daily [...]]]></description>
				<content:encoded><![CDATA[<div class="interview">
<div class="intro">
<p><img align="right" hspace=10 vspace=10 src="http://yuiblog.com/assets/jconniff.jpg" width="118" height="146"/>	<em><strong>About the Author:</strong>  Jeff Conniff is an interaction designer, prototyper, and visual designer working at Yahoo since 2005 in the HotJobs and Small Business groups. Jeff has a degree in Graphic Design from San Jose State University, and has worked at many companies designing software user experience since 1983. Jeff uses the YUI platform daily in his prototyping work and loves its clean syntax and great capabilities.</em></p>
</div>
</div>
<p>
We decided to take the <a href="http://developer.yahoo.com/yui/3/slider/">YUI 3 Slider</a> widget skins up a visual notch for YUI 3.1.0. These were our goals:
</p>
<ol>
<li>
		Improve the overall visual tastiness and 3-D appearance
	</li>
<li>
		Offer a wider range of thumb and rail skins
	</li>
<li>
		Provide two sets skins to serve dark as well as light page backgrounds
	</li>
<li>
		Provide a complete set of thumbs and rails for vertical as well as horizontal use
	</li>
<li>
		Make it easier to mix and match thumbs with different rail styles
	</li>
<li>
		Provide Photoshop assets to aid developers in modifying slider images to match any background color
	</li>
</ol>
<p>Compare the YUI 2 slider skins with the YUI 3 ones below. The new set has more variety and should serve a broad spectrum of pages and styles. </p>
<p>YUI 2 Slider Skins:</p>
<p><img src="http://yuiblog.com/assets/yui2_slider_skins.gif" alt="YUI 2 Slider Skins"/></p>
<p>YUI 3 Slider Skins:</p>
<p><img src="http://yuiblog.com/assets/yui3_slider_skins.jpg" alt="YUI 3 Slider Skins"/></p>
<p>We didn&#8217;t restrict the thumbs to rectangles and 45 degree angles. This posed some challenges with anti-aliasing. The YUI 2 thumbs have shadows incorporated into the thumb image, so they are a solid color gray. We&#8217;ve improved this by making a shadow object that&#8217;s separate from the thumb image. The shadow has <code>opacity: 0.15</code>. This means it looks natural as the shadow falls on the rail and the tick marks.</p>
<p><img src="http://yuiblog.com/assets/shadow_compare2.jpg"/></p>
<p>We will be providing original photoshop files containing each of the rail and thumb images. This will provide developers the source from which to easily customize the images so that they look their best when placed on whatever color background your site has.</p>
<p><img src="http://yuiblog.com/assets/slider_blue_3.jpg"/></p>
<p>YUI 3&#8242;s widget foundation reached GA status last week <a href="http://www.yuiblog.com/blog/2010/03/31/announcing-yui-3-1-0/">with the release of YUI 3.1.0</a>.  We don&#8217;t yet have a full slate of native YUI 3 widgets, and we haven&#8217;t yet defined a set of global skins.  However, the work we did on visual assets for the beta Slider Component should make it more useful in the short term, and we&#8217;ll carry all of these visual options on as alternative themes or examples once YUI 3&#8242;s baseline themes are in place.</p>
<p>Have a look at these <a href="http://developer.yahoo.com/yui/3/examples/slider/slider_skin.html">working code examples</a> of the new sliders. Checkout the behind the scenes <a href="http://developer.yahoo.com/yui/3/slider/#skinning">detailed workings</a> of the skin images and CSS.</p>
<p>We hope these new sliders will be a nice visual addition to your bag of tricks.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=SFW_M3aEshI:qFFAYbcgzFo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=SFW_M3aEshI:qFFAYbcgzFo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=SFW_M3aEshI:qFFAYbcgzFo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=SFW_M3aEshI:qFFAYbcgzFo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=SFW_M3aEshI:qFFAYbcgzFo:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2010/04/06/alternative-slider-skins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Three new navigation design patterns</title>
		<link>http://www.yuiblog.com/blog/2010/02/22/three-new-navigation-design-patterns/</link>
		<comments>http://www.yuiblog.com/blog/2010/02/22/three-new-navigation-design-patterns/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 00:56:21 +0000</pubDate>
		<dc:creator>Christian Crumlish</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[leftnav]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[topnav]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=1243</guid>
		<description><![CDATA[Over the past few months I conducted an audit of the patterns in Yahoo!&#8217;s internal design pattern library, with an eye toward publishing as many of them as possible in the open library at YDN. Why? Well, for one thing, to get more eyeballs on them, to gather more feedback and keep improving the patterns. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.yuiblog.com/blog/wp-content/uploads/2010/02/topnav.png"><img src="http://www.yuiblog.com/blog/wp-content/uploads/2010/02/topnav-300x75.png" alt="topnav bar" title="topnav" width="300" height="75" class="alignright size-medium wp-image-1244" /></a>Over the past few months I conducted an audit of the patterns in Yahoo!&#8217;s <em>internal</em> design pattern library, with an eye toward publishing as many of them as possible in <a href="http://design.yahoo.com/">the open library at YDN</a>. Why? Well, for one thing, to get more eyeballs on them, to gather more feedback and keep improving the patterns. Also, since very few patterns in the library contain Yahoo!-specific information, and an alternative process is now in place for vetting requirements specific to the Yahoo! network and brand <em>components</em>, the design pattern collection can now more easily focus on (relatively) universal design principles for web implementations.</p>
<p>I completed the audit before the end of last year and expect to release new patterns in batches over the next few months. Some patterns will be mature and provide a solid foundation for site design. A few will be published as beta patterns which may undergo significant changes in subsequent updates based on feedback received. Regardless of their status, we hope you’ll get involved and review and provide feedback on the patterns provided.</p>
<p>The first batch of patterns to come out from the audit relates to <a href="http://developer.yahoo.com/ypatterns/navigation/bar/">navigation bars</a>. There are three patterns so far in this grouping: <a href="http://developer.yahoo.com/ypatterns/navigation/bar/topnav.html">Top Navigation</a>, <a href="http://developer.yahoo.com/ypatterns/navigation/bar/leftnav.html">Left Navigation</a>, and <a href="http://developer.yahoo.com/ypatterns/navigation/bar/progress.html">Progress Bar</a>. One legitimate question is whether top and left nav bars are still the best or most current way to navigate a site and find content? We still find many examples of them across the web and in use at Yahoo! so for now I&#8217;ll say yes, but it&#8217;s worth thinking about.</p>
<p>Wherever possible I try to link patterns back to <a href="http://developer.yahoo.com/yui/">the YUI Library</a> and, where appropriate, to other code and implementation solutions. YUI has great support for navbars and menu examples. Probably the best place to start is the <a href="http://developer.yahoo.com/yui/menu/">menu widget</a>.</p>
<p>One interesting nomenclature issue we studied was the distinction between a stepwise progress indicator (which is what the pattern is about) and a continuous progress bar (for which there&#8217;s <a href="http://developer.yahoo.com/yui/progressbar/">a great YUI example</a>). These two things are often referred to with similar names, but perform different functions. Suggestions for more appropriate terminology are welcome.</p>
<p>Please check out these <a href="http://developer.yahoo.com/ypatterns/navigation/bar/">new patterns</a> and let us know what you think!</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=KBwmEfOfF-0:BJe5BcTd2N0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=KBwmEfOfF-0:BJe5BcTd2N0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=KBwmEfOfF-0:BJe5BcTd2N0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=KBwmEfOfF-0:BJe5BcTd2N0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=KBwmEfOfF-0:BJe5BcTd2N0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2010/02/22/three-new-navigation-design-patterns/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>iPhone Design Stencils in the Pattern Library</title>
		<link>http://www.yuiblog.com/blog/2009/12/17/iphone-design-stencils-in-the-pattern-library/</link>
		<comments>http://www.yuiblog.com/blog/2009/12/17/iphone-design-stencils-in-the-pattern-library/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 22:11:30 +0000</pubDate>
		<dc:creator>Christian Crumlish</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[InDesign]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[stencils]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=1062</guid>
		<description><![CDATA[Interaction designer and prototyper Chris Stone recently volunteered to adapt the iPhone stencils in our OmniGraffle based stencil kit in the Yahoo! Design Pattern Library and optimize them for use in Adobe InDesign. Chris is starting a new gig at Pulse Energy in Jan 2010 but these templates were created during his tenure as the [...]]]></description>
				<content:encoded><![CDATA[<div class="interview">
<div class="intro">
<p><em><img src="http://www.yuiblog.com/blog/wp-content/uploads/2009/12/stony.png" alt="stony" title="stony" width="105" height="142" class="alignright size-full wp-image-1077" />Interaction designer and prototyper Chris Stone recently volunteered to adapt the iPhone stencils in our OmniGraffle based stencil kit in the Yahoo! Design Pattern Library and <a href="http://developer.yahoo.com/ypatterns/about/stencils/iPhone.UI.Elements.zip">optimize them</a> for use in Adobe InDesign. Chris is starting a new gig at Pulse Energy in Jan 2010 but these templates were created during his tenure as the lead UXD Nitobi Software in Vancouver.</em></p>
</p></div>
<p class="q"><strong>Can you describe the stencils you contributed, why you made them, and what you personally use them for?</strong>
<p><a href="http://developer.yahoo.com/ypatterns/about/stencils/iPhone.UI.Elements.zip"><img src="http://www.yuiblog.com/blog/wp-content/uploads/2009/12/id_iphone.png" alt="id_iphone" title="id_iphone" width="59" height="36" class="alignleft size-full wp-image-1066" /></a>I created a customizable, vector-based <a href="http://developer.yahoo.com/ypatterns/about/stencils/">iPhone stencil library for InDesign</a>. They came about as a result of several conversations that ultimately culminated with the creation of this stencil. </p>
<p>I co-lead the Vancouver chapter of the IxDA and one of the conversations that I’ve been interested in discussing with the group is “What is open source UX and is it possible?”.  It’s a tricky topic to define, and the more I think about it, the more I am of the opinion that open sourcing tools is the first place to start, rather than focusing on definitions. I figure that the best thing you can do is to put tools in designers’ hands and let them create, so that’s exactly what I did. </p>
<p><img src="http://www.yuiblog.com/blog/wp-content/uploads/2009/12/iphone-proto.png" alt="iphone-proto" title="iphone-proto" width="183" height="346" class="alignright size-full wp-image-1069" />Meanwhile, while pondering the Open Source UX question I was working on an iPhone app for a client and really wanted to use the newly discovered &#8220;interactivity&#8221; features buried in the depths of an InDesign workspace in hopes of a new path to generating rapid, clickable prototypes. So, I nabbed the <a href="http://developer.yahoo.com/ypatterns/about/stencils/Y!DesignStencils-PDF.zip">PDF</a> that you posted and started building out the InDesign snippets with customizable gradients rather than repeating, or stretched screen captures that I&#8217;ve seen used. I wanted to provide every Interaction Designer/UX Designer out there that uses InDesign with an option to use their preferred application for creating iPhone app layouts and designs if necessary.</p>
<p>You can find more details on this process in a blog post i have written called  <a href="http://getstony.wordpress.com/2009/11/10/lightweight-prototyping-with-adobe-indesign/">Lightweight Prototyping with InDesign</a>.</p>
<p class="q"><strong>Can you discuss how these differ from the <a href="http://unify.eightshapes.com/users-guide/what-you-get/wireframe-element-libraries/">Eightshapes adaptation</a> of the Yahoo! stencil kit (since both are used in InDesign)?</strong></p>
<p>Basically, I wanted to customize the PDF that you had already provided using the same level of fidelity as in the Illustrator version. I realized that it was a compilation of repeating images, rather than complete, editable vectors. </p>
<p>That said, I was making a move back to InDesign from OmniGraffle and saw it as an opportunity to create a higher-fidelity iPhone stencil for wireframing, prototyping, and quickly skinning an app to play with differences in look and feel, and to enable you to move that much further with InDesign. </p>
<p>The 8Shapes stencil doesn&#8217;t have the default gradients or some of the other interaction elements that I wanted to use in my wires (key/num pad, list select tumbler, etc.). That said, I didn&#8217;t create icons to the same extent that they did. I basically mimicked what was in the existing Yahoo! stencil. </p>
<p>I would love to add more to it eventually when I have time. I like having the option of removing the gradient if need be for basic wireframing yet have them readily available for quick mockups. I think they&#8217;re a good complement to each other depending on your use case.</p>
<p class="q"><strong>What else would you see in the pattern library?</strong></p>
<p>I&#8217;d love to see the Yahoo stencils in higher fidelity, much like the iPhone stencil, therefore on par with the OmniGraffle fidelity. </p>
<p>A general library on <a href="http://www.designinggesturalinterfaces.com/">gesture based patterns</a> would also be quite useful.</p>
</div>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=H2AXXMtJ9Z8:11z2Uk7xS8A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=H2AXXMtJ9Z8:11z2Uk7xS8A:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=H2AXXMtJ9Z8:11z2Uk7xS8A:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=H2AXXMtJ9Z8:11z2Uk7xS8A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=H2AXXMtJ9Z8:11z2Uk7xS8A:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2009/12/17/iphone-design-stencils-in-the-pattern-library/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Results of the Accordion Pattern survey</title>
		<link>http://www.yuiblog.com/blog/2009/10/26/results-of-the-accordion-pattern-survey/</link>
		<comments>http://www.yuiblog.com/blog/2009/10/26/results-of-the-accordion-pattern-survey/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 22:44:36 +0000</pubDate>
		<dc:creator>Christian Crumlish</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[pattern library]]></category>

		<guid isPermaLink="false">http://www.yuiblog.com/blog/?p=427</guid>
		<description><![CDATA[A few months back we shared our current thinking on the &#8220;accordion&#8221; navigation component, and asked the community of web developers and designers who read this blog to take a survey to help us determine defaults, current practices, and other guidelines to incorporate into an Accordion pattern and provide input into an Accordion YUI component. [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.yuiblog.com/blog/wp-content/uploads/2009/10/accordion-yahoo-sports.png" alt="accordion-yahoo-sports" title="accordion-yahoo-sports" width="345" height="363" class="alignright size-full wp-image-588" />A few months back <a href="http://www.yuiblog.com/blog/2009/03/23/survey-when-is-an-accordion-not-an-accordion/">we shared our current thinking on the &#8220;accordion&#8221; navigation component</a>, and asked the community of web developers and designers who read this blog to take a survey to help us determine defaults, current practices, and other guidelines to incorporate into an Accordion pattern and provide input into an Accordion YUI component.</p>
<p>I&#8217;ve had some time now to review and study the results and I wanted to share them with the community as we write up a &#8220;beta&#8221; version of the pattern and get ready to share it, so without further adieu, here are the results (note that this survey should not be considered strictly scientific).</p>
<p><strong>Who Responded</strong></p>
<p>Respondents identified themselves the following ways:<br />
<img class="alignright size-full wp-image-437" title="accordion-respondents" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-respondents.png" alt="accordion-respondents" width="327" height="157" /></p>
<ul>
<li>Designer 21.4%</li>
<li>Developer	32.1%</li>
<li>Hybrid (Both designer and developer) 42.3%</li>
<li>None of the Above 4.2%</li>
</ul>
<p><strong>Terminology Distinctions</strong></p>
<p>Overwhelming majorities across all respondents agreed that</p>
<ul>
<li>Accordion and Accordion Menu mean the same thing (73%)</li>
<li>Accordions and Tree Controls are two different things (89%)</li>
</ul>
<p>Many commenters described the difference between accordions and trees along these lines: &#8220;Tree Control generally implies a depth of hierarchy that is not generally present with an accordion.&#8221;</p>
<p>A smaller majority said that Accordion and Collapsible Panels refer to the same thing (60%).</p>
<p>These majorities were consistent across roles.</p>
<p><strong>Presentation of Accordions</strong></p>
<p>A solid majority (68%), said that accordions can be laid out horizontally as well as vertically (and in fact the pattern is well attested on the web). People suggested that the labels on a horizontal accordion should be written vertically and/or rotated.</p>
<p>An even larger majority (72%) said that accordions can have only two levels (this aligns with the distinction between accordions and trees):</p>
<p><img class="alignnone size-full wp-image-431" title="accordion-2-levels" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-2-levels.png" alt="accordion-2-levels" width="500" height="142" /></p>
<p>A slight majority (53%) said that accordions may be nested within other accordions. The written comments suggested that the wording of the question led some to answer that it&#8217;s certainly possible but not necessarily desirable, making suggestions such as, &#8220;If you adequately gutter them, this would be possible, but generally a terrible idea &#8211; kind of like using too many tabs and having them wrap into multiple rows.&#8221;</p>
<p><img class="alignnone size-full wp-image-433" title="accordion-nested" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-nested.png" alt="accordion-nested" width="500" height="246" /></p>
<p>This was one of the questions where self-described designers and developers took opposing sides. 57% of Developers and Hybrids agreed that accordions may be nested, whereas 64% of Designers said they may not be. (None of the Aboves split 50/50!)</p>
<p>If I had to guess, I&#8217;d say that developers (and hybrids), more intimately connected with the how than the why may have been expressing more of a &#8220;you could do it&#8230;&#8221; perspective, whereas designers may have been expressing more of a &#8220;&#8230;but you shouldn&#8217;t&#8221; point of view.</p>
<p><strong>How Accordions Should Behave</strong></p>
<p>A small majority (54%) believes that accordions should allow for more than one panel to be open at a time. Both behaviors can be found online, so our impression is that this behavior may depend more on the constraints of the design space and the purpose of the accordion than on a blanket rule one way or the other.</p>
<p>This question also split along identity lines, but in an ambiguous way. Hybrids preferred the one panel-at-a-time rule by a tiny majority, while Designers and Developers and None of the Aboves agreed that multiple panels are okay by slightly larger majorities.</p>
<p><img class="alignnone size-full wp-image-436" title="accordion-multi-open" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-multi-open.png" alt="accordion-multi-open" width="527" height="203" /></p>
<p>A much larger majority (73%) believes that an accordion can have a completely closed state (that is, that it&#8217;s not necessary that there always be one panel open). The only outlier is that the None of the Aboves broke 60% for the position that there must always be one panel open.</p>
<p><img class="alignnone size-full wp-image-430" title="accordion-panels-closed" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-panels-closed.png" alt="accordion-panels-closed" width="500" height="235" /></p>
<p>Several commenters suggested that it is a good practice to have one panel open by default, and for that panel to be either the first one, the one most recently used.</p>
<p>Another large majority (76%) believes an accordion&#8217;s overall size can change as needed, rather than being constrained to a consistent size. (Of course, there are contexts, such as the screen of a mobile device, in which it may be a valid choice or even a design constraint that an accordion maintain a consistent size.)</p>
<p>A very slight majority (51%) suggested that accordions should open on click (as opposed to on hover) and a nearly as large minority (45%) said that it depends. Interestingly, fewer than 4% were willing to state the accordions should open on hover as a rule.</p>
<p><img class="alignnone size-full wp-image-432" title="accordion-onclick" src="http://www.yuiblog.com/blog/wp-content/uploads/2009/08/accordion-onclick.png" alt="accordion-onclick" width="500" height="247" /></p>
<p>Written comments on this question offered plenty of good food for thought, such as:</p>
<blockquote><p>Opening a panel should require explicit action. If an accordion has multiple panels, opening on hover could be a jarring experience. Rather, use a tooltip to convey summary details of what is in the panel, and have the user explicitly &#8220;click&#8221; to open that panel.</p></blockquote>
<blockquote><p>Depends on the configuration of each accordion.</p>
<p>I put these examples together [<a href="http://bubbling-library.com/sandbox/accordion/multiple.html">multiple</a>, <a href="http://bubbling-library.com/sandbox/accordion/rollover.html">rollover</a>], so the developer can actually use the &#8220;best fit&#8221; for each use case. </p>
<p>Also, there should be the option to use rollover with different rules: (one most be open) or (elements should be opened on mouseover only).</p></blockquote>
<blockquote><p>For advanced usages, an accordion should open on hover during drag and drop operations. In any other circumstance, you can&#8217;t trust that the hover is intentional.</p></blockquote>
<p><strong>Accessibility</strong></p>
<p>Finally, we asked an open-ended question fishing for any known accessibility issues with accordions and got a lot of great answers. (For our example issue, most people agreed that making the entire label clickable and not just a small icon is important.)</p>
<p>Here is a sampling of other insight about accessibility with accordions:</p>
<blockquote><p>I think it&#8217;s safe to assume that an Accordion interaction is an advanced interaction. Lots of accessibility problems can arise.</p>
<ol>
<li>Content is hidden behind panels so people may not find it.</li>
<li>Depending on the size of the clickable area or the trigger to open/close the panels there could be issues with the manual dexterity needed.</li>
</ol>
</blockquote>
<blockquote><p>Accordions should open all panels if javascript is unavailable (though that may produce a &#8220;flicker&#8221; for those with javascript).</p></blockquote>
<blockquote><p>It depends on whether content in the hidden panels is present in the DOM or is retrieved upon opening the panel. If it is being retrieved, focus needs to be placed on the newly opened panel.</p></blockquote>
<blockquote><p>Well, I really believe the title should be clickable, specially if the content of the element will be loaded using AJAX (just like a tabview approach), but the reality is that sometimes the developer (should have)/(want) the control to customize that behavior. Here is <a href="http://bubbling-library.com/sandbox/accordion/index.html">the list of examples</a> that I created for an accordion widget implementation based on YUI 2.x, it&#8217;s probably one of the most used components from the bubbling YUI extension.</p></blockquote>
<blockquote><p>We&#8217;ve had a case where the &#8216;label&#8217; of the accordion was a link to a full blog post, and so could not be accordion-clickable. In that case, we wrote an icon into the source with js to do the job. Provided the icon is sufficiently large and/or comes with an accesskey, I don&#8217;t see a major difficulty&#8230;</p></blockquote>
<blockquote><p>Accordion controls server the purpose of fitting lots of content into less space. Since this is a visual concern, it would be fine for a screen reader to simply read all of the content and ignore the fact that it is displayed as an accordion visually. It is sufficient for an icon to be clickable to expand a panel. There could be a configuration option to allow the entire label to expand a panel, or it can be left up to the implementing developer to attach a listener to the label that calls a public &#8220;open&#8221; or &#8220;expand&#8221; function to add that functionality.</p></blockquote>
<blockquote><p>Just think of an accordion as a tabbed view. The entire panel label area should be clickable, but if it contains other controls (e.g. a &#8220;dismiss&#8221; or &#8220;close&#8221; button) I suggest only the label (text) be clickable, or at least the clikable area only expand up to the interactive controls (i.e. for a caption containing a button, the area above, below and &#8220;after&#8221; the button should be clickable).</p></blockquote>
<p><strong>Releasing the Draft Pattern</strong></p>
<p>One commenter questioned the artificial constraints of the survey (a fair cop, if you ask me):</p>
<blockquote><p>I didn&#8217;t like this survey. The questions were not flexible enough. As a designer/developer, I believe all interface elements need to be tailored to particular site or web application. Asking black and white questions does not leave room for the obvious differences between projects. Some projects need a hard and fast rule, while the same rule might be totally inappropriate for another application. For the most part, I could of answered every question with a &#8220;it depends&#8221; result.</p></blockquote>
<p>Rest assured that the pattern will only gently recommend and the YUI code will be flexible and powerful. The survey wasn&#8217;t designed to limit people&#8217;s choices but rather to gather opinions and preferences, so even feedback about not having hard-and-fast rules is useful.</p>
<p>We&#8217;ve published a beta version of the <a href="http://developer.yahoo.com/ypatterns/navigation/accordion.html">Accordion pattern</a> in the Yahoo! Design Pattern Library. If you&#8217;d like to give further feedback on the pattern, in a free-form manner, please drop by or visit the related <a href="http://developer.yahoo.net/forum/index.php?showtopic=2980">forum</a> discussion.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=oDAnR1uQjdI:F61v-Q31ODE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=oDAnR1uQjdI:F61v-Q31ODE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=oDAnR1uQjdI:F61v-Q31ODE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=oDAnR1uQjdI:F61v-Q31ODE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=oDAnR1uQjdI:F61v-Q31ODE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2009/10/26/results-of-the-accordion-pattern-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>John Peloquin’s Multi-layer Calendar</title>
		<link>http://www.yuiblog.com/blog/2009/04/03/multi-layer-calendar/</link>
		<comments>http://www.yuiblog.com/blog/2009/04/03/multi-layer-calendar/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 22:41:57 +0000</pubDate>
		<dc:creator>Eric Miraglia</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[johnpeloquin whardyinteractive yui calendar]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2009/04/03/multi-layer-calendar/</guid>
		<description><![CDATA[YUI contributor (and author of the Interval Selection Calendar example) John Peloquin of W. Hardy Interactive has released another excellent option for Calendar implementers: a layered navigation path for selecting years and months. The layered approach provides an alternative to the built-in navigator interface that ships with Calendar. John describes the inspiration and thought process [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blogs.whardy.com/john/2009/04/03/multi-layer-calendar/"><img src="http://yuiblog.com/assets/calendar-layer-20090403-152423.jpg" alt="John Peloquin's multi-layer calendar navigator." width="510" height="371" /></a></p>
<p>YUI contributor (and author of the <a href="http://developer.yahoo.com/yui/examples/calendar/intervalcal.html">Interval Selection Calendar example</a>) John Peloquin of W. Hardy Interactive has released another excellent option for <a href="http://developer.yahoo.com/yui/calendar/">Calendar</a> implementers: <a href="http://blogs.whardy.com/john/2009/04/03/multi-layer-calendar/">a layered navigation path for selecting years and months</a>. The layered approach provides an alternative to the built-in <a href="http://developer.yahoo.com/yui/examples/calendar/calnavigator.html">navigator interface</a> that ships with Calendar.</p>
<p>John describes the inspiration and thought process behind this implementation <a href="http://blogs.whardy.com/john/2009/04/03/multi-layer-calendar/">on his blog</a>, where you&#8217;ll also find  <a href="http://whardy.com/js/yui/multilayercalendar/docs/YAHOO.WHII.widget.MultiLayerCalendar.html"  title="Multi-Layer Calendar API documentation">API documentation</a> and <a href="http://whardy.com/js/yui/multilayercalendar/docs/multilayercalendar.js.html" title="Multi-Layer Calendar source code">source code</a>.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=zCwgAqxG0UU:eAAoSKZuZss:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=zCwgAqxG0UU:eAAoSKZuZss:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=zCwgAqxG0UU:eAAoSKZuZss:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=zCwgAqxG0UU:eAAoSKZuZss:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=zCwgAqxG0UU:eAAoSKZuZss:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2009/04/03/multi-layer-calendar/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Survey: When is an Accordion not an Accordion?</title>
		<link>http://www.yuiblog.com/blog/2009/03/23/survey-when-is-an-accordion-not-an-accordion/</link>
		<comments>http://www.yuiblog.com/blog/2009/03/23/survey-when-is-an-accordion-not-an-accordion/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 05:20:03 +0000</pubDate>
		<dc:creator>Christian Crumlish</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[collapsible panels]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[rich interactions]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2009/03/23/survey-when-is-an-accordion-not-an-accordion/</guid>
		<description><![CDATA[I&#8217;m looking for feedback from people who have designed or built an interface using an &#8220;accordion&#8221; module (or are considering doing so). You see, I&#8217;ve been working on a design pattern for accordion modules, and I&#8217;d like to throw out a handful of open questions to the community via this brief survey. I&#8217;ll be listening [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.yuiblog.com/blog/wp-content/uploads/2009/03/accordion-pop.png" alt="example of an accordion" style="margin: 0pt 0pt 2px 8px; float: right" />I&#8217;m looking for feedback from people who have designed or built an interface using an &#8220;accordion&#8221; module (or are considering doing so). You see, I&#8217;ve been working on a design pattern for accordion modules, and I&#8217;d like to throw out a handful of open questions to the community via <a href="http://www.surveymonkey.com/s.aspx?sm=lGHKygw2YwMI8yoom00Tzg_3d_3d">this brief survey</a>. I&#8217;ll be listening elsewhere as well, on twitter (<a href="http://twitter.com/mediajunkie">@mediajunkie</a>) and on mailing lists where web designers and developers hang out.</p>
<p>(I realize this is not a scientific survey. I&#8217;m just interested in engaging the wider community in a discussion instead of trying to impose my view or Yahoo!&#8217;s view on the community as authoritative.)</p>
<p>Everywhere I go lately, it seems that interaction designers and web developers are talking about accordion widgets and debating about what makes an accordion an accordion. Not everyone working in this field has heard the term (some may simply refer to &#8220;stacked panels&#8221; or &#8220;collapsible panels&#8221;) but most get the gist fairly easily. Ironically, none of the UI elements described as accordions share the actual behavior of a real-world accordion (the musical instrument): namely, that stretching an accordion opens all the folds evenly.</p>
<p>Accordions have been an on-and-off topic of discussion <a href="http://www.ixda.org/search.php?tag=accordion">on the main IxDA mailing list</a>; we discussed them in our <a href="http://interaction09.crowdvine.com/talks/show/2574">Pattern Library</a> workshop in Vancouver earlier this month, and there&#8217;s been an ongoing discussion about accordions on our internal designer mailing list here at Yahoo!.</p>
<p>So I sat down with some folks from the YUI team (and Marco, the maker of an experimental <a href="http://yuiblog.com/blog/2008/07/25/accordionview/">YUI accordion widget</a>) a little while ago to sort through a draft of an accordion pattern that might help inform the development of an official YUI component.</p>
<p>Broadly speaking, most people agree on what we&#8217;re talking about when we talk about an accordion interface element. Everyone agrees that accordions are used to compress content into a limited space and that they consist of panels that can collapse or expand. Beyond this, there are a number of subtle nuances that not everyone agrees on.</p>
<p>One trend I&#8217;ve noticed is that front-end developers tend be agnostic about how the accordion should work, viewing it as really just a variant on a tree widget. Designers tend to be more prescriptive, saying that to be an accordion it must behave in thus and such a way (but not all designers agree on what these rules are).</p>
<p>In the end, the YUI folks will produce code that can be made to do just about anything. We aren&#8217;t going to try to impose our own taste or preferences in design through the functionality of the code itself. However, we will use the associated pattern to make suggestions and recommendations drawn from the experience of the entire design community, and we will probably lobby for default behaviors that match what most people expect.</p>
<p>So, if you&#8217;ve got a few minutes and an opinion, please <a href="http://www.surveymonkey.com/s.aspx?sm=lGHKygw2YwMI8yoom00Tzg_3d_3d">visit the survey</a> and let me know what you think!</p>
<p>I&#8217;ll close the survey on April 30.</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=piUIMo7GdgY:lKBEYHKHtcs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=piUIMo7GdgY:lKBEYHKHtcs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=piUIMo7GdgY:lKBEYHKHtcs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=piUIMo7GdgY:lKBEYHKHtcs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=piUIMo7GdgY:lKBEYHKHtcs:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2009/03/23/survey-when-is-an-accordion-not-an-accordion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>YUI Turns Three!</title>
		<link>http://www.yuiblog.com/blog/2009/02/18/yui-3rd-birthday/</link>
		<comments>http://www.yuiblog.com/blog/2009/02/18/yui-3rd-birthday/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 03:38:33 +0000</pubDate>
		<dc:creator>Jenny Donnelly</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://yuiblog.com/blog/2009/02/18/yui-3rd-birthday/</guid>
		<description><![CDATA[The YUI Library turned three years old this month and we&#8217;d like to invite you &#8212; our community of developers and implementers &#8212; to come out and celebrate! To celebrate our third birthday (and our 2.7.0 release), we&#8217;ll be hosting a recession-chic happy hour at the Blue Chalk Cafe in downtown Palo Alto, Thursday, February [...]]]></description>
				<content:encoded><![CDATA[<p><img src="http://yuiblog.com/assets/yui-3rd-birthday/three.png" width="170" height="245" align="right">The YUI Library turned three years old this month and we&#8217;d like to invite you &#8212; our community of developers and implementers &#8212; to come out and celebrate! To celebrate our third birthday (and our 2.7.0 release),  we&#8217;ll be hosting a recession-chic happy hour at the Blue Chalk Cafe in downtown Palo Alto,  Thursday, February 26 from 6:00 to 8:00 pm. Nothing too fancy,  but we&#8217;ll have fun goodies to give away and the first few rounds of drinks are on us (until the tab runs out). Details and signups are at <a href="http://upcoming.yahoo.com/event/1850956">Upcoming</a>. Hope to see you there!</p>
<div class="feedflare">
<a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=-oJBE2OSl1A:cu3lRUBevD4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=-oJBE2OSl1A:cu3lRUBevD4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=-oJBE2OSl1A:cu3lRUBevD4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.yuiblog.com/~ff/yuiblog/design?a=-oJBE2OSl1A:cu3lRUBevD4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/yuiblog/design?i=-oJBE2OSl1A:cu3lRUBevD4:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.yuiblog.com/blog/2009/02/18/yui-3rd-birthday/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
