<?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>NARADESIGN:BLOG &#187; 웹 표준</title>
	<atom:link href="http://naradesign.net/wp/category/webstandard/feed/" rel="self" type="application/rss+xml" />
	<link>http://naradesign.net/wp</link>
	<description>웹표준, 웹접근성, 유니버설디자인, HTML, CSS, UI, UX, UD</description>
	<lastBuildDate>Mon, 09 Aug 2010 07:52:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>HTML5 오픈 컨퍼런스: CSS3 소개 발표자료 공유.</title>
		<link>http://naradesign.net/wp/2010/07/05/1365/</link>
		<comments>http://naradesign.net/wp/2010/07/05/1365/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 14:29:05 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1365</guid>
		<description><![CDATA[지난 7월 2일 HTML5 오픈 컨퍼런스가 열렸습니다. 윤석찬님의 제안으로 약 1개월 전부터 기획이 되었고 한국 웹 표준 프로젝트 멤버&#160;및 국내외 웹 표준 커뮤니티(CSS디자인코리아, 클리어보스, 한국정보화진흥원, 모질라)의 자원 봉사 또는 후원으로&#160;준비했습니다. 한국 웹 표준 프로젝트라는 그룹은 생소하시겠지만 이 그룹에서 2005년도에 제작 배포했던 자료 실전 웹 표준 가이드는 익숙하실껍니다. 웹 표준 프로젝트 그룹 멤버들은 평소에는 각자의 커뮤니티나 [...]]]></description>
			<content:encoded><![CDATA[<p>지난 7월 2일 <a href="http://webappscon.com/html5/">HTML5 오픈 컨퍼런스</a>가 열렸습니다. <a href="http://channy.creation.net/">윤석찬</a>님의 제안으로 약 1개월 전부터 기획이 되었고 <a href="http://webstandards.or.kr/about/">한국 웹 표준 프로젝트 멤버</a>&nbsp;및 국내외 웹 표준 커뮤니티(<a href="http://forum.standardmag.org/">CSS디자인코리아</a>, <a href="http://clearboth.org/">클리어보스</a>, <a href="http://www.nia.or.kr/">한국정보화진흥원</a>, <a href="http://www.mozilla.com/">모질라</a>)의 자원 봉사 또는 후원으로&nbsp;준비했습니다. 한국 웹 표준 프로젝트라는 그룹은 생소하시겠지만 이 그룹에서 2005년도에 제작 배포했던 자료 <a href="http://webstandards.or.kr/guide">실전 웹 표준 가이드</a>는 익숙하실껍니다. 웹 표준 프로젝트 그룹 멤버들은 평소에는 각자의 커뮤니티나 블로그를 통해 활동하지만 이번처럼 어떤 과제가 주어지면 모여서 함께하고 있습니다. 멤버들 사이에서 웹 표준에 대한 동기나 철학이 조금씩은 다를 수 있겠지만 웹 표준이 정착하는데 기여하고 싶다는 의지 만큼은 모두가 한 마음인것 같습니다. 이런 과정에 참여하는 것은 개인적으로 큰 기쁨이고 보람입니다.</p>
<p>컨퍼런스는 신청자 접수를 시작한지 20시간만에 650좌석이 모두 매진될만큼 큰 관심을 끌었습니다. 발표자들은 단순히 프리젠테이션을 공개하는 것에서 끝나지 않았고 책(<a href="http://html5.creation.net/html5-guide.pdf">실전 HTML5 가이드</a>)으로 만들어 배포할 것을 처음부터 염두했습니다. 때문에 컨퍼런스 참석자들에게는 책자로 제공이 되고 참석하지 못한 분들께도 무료(<a href="http://creativecommons.org/licenses/by/3.0/deed.ko">CCL 3.0</a>)로 배포가 되었습니다.</p>
<p>저는 <a href="http://naradesign.net/ouif/css3/documentation.html">CSS3에 대한 소개자료 집필</a>과 <a href="http://naradesign.net/ouif/css3/presentation.html">발표</a>를 맡았습니다. CSS3는 어떤 HTML 버전을 선택하더라도 사용할 수 있는 HTML 버전과 무관한 기술이기 때문에 특별히 HTML5에 대응한다고 보기는 어렵습니다. 단지 HTML5와 같은 시기에 개발이 되면서 브라우저 벤더들이 이를 현실로 구현했기 때문에 주목을 받은것 뿐입니다. 엄밀하게 따져서 굳이 HTML5 오픈 컨퍼런스에 포함되지 않아도 무방하지만 빠졌을 때 아쉬움이 남을 수 있는 섹션이라고 이해하시면 될 것 같습니다. 소개팅 자리에 그냥 이성이 등장하는 것보다 예쁘거나 멋진 이성이 등장하기를 바라는 것과 같은 마음으로 이해하시면 될 것 같습니다.</p>
<p>CSS3는 아직 권장 표준이 아닙니다. 그러나 대중적인 브라우저 벤더들은 일부 스펙(모듈)을 현실 속에서 이미 구현했습니다. <a href="http://naradesign.net/ouif/css3/documentation.html#text-overflow">text-overflow</a>, <a href="http://naradesign.net/ouif/css3/documentation.html#word-wrap">word-wrap</a>, <a href="http://naradesign.net/ouif/css3/documentation.html#font-face">@font-face</a>와 같은 속성이나 규칙들은 이미 IE 6~8 브라우저에서도 사용할 수 있습니다. 마이크로소프트에서 이미 오래전에 제안하고 자체적으로 구현했지만 이제서야 CSS3 스펙으로 수용되면서 다시 세상의 빛을 보게 된 샘이죠. 이 밖에도 브라우저들은 실험적으로 또는 정식으로 CSS3 속성들과 선택자들을 앞다투어 지원하고 있습니다. W3C에 의해 권장 표준이 되는 것이 공식적인 표준이라 할 수 있지만 이미 많은 브라우저 벤더들에 의해 구현되어 있다면 사실상 표준이라고 볼 수 있으며 실무에서 유용하게 사용할 수 있습니다.</p>
<p>CSS3의 기교와 데모에 관한 자료들은 검색을 통해서 외국의 자료들을 쉽게 접하실 수 있습니다. 그러나 <a href="http://trend.logger.co.kr/report/trend_report.tsp?currRptType=pie&amp;rptCode=4040&amp;tps=2010%2F06%2F05&amp;tpe=2010%2F07%2F03&amp;rptType=pie&amp;rptStep=week&amp;mainSel=NAVER%28%B3%D7%C0%CC%B9%F6%29&amp;subSel=&amp;bigCat=">IE 점유율이 97%에 이르는 한국의 상황</a>을 감안하면 한국의 웹 개발자에게는 뭔가 추가적인 정보를 제공해야 한다고 생각 했습니다. 최신 표준 브라우저의 지원 현황 뿐만 아니라 IE 6~8 브라우저에서도 사용할 수 있는 기법들을 소개하고 만약 IE 브라우저가 지원하지 않는 속성이라면 fallback을 &nbsp;제공하는 방법도 소개해야 한다고 생각 했습니다.&nbsp;CSS3가 아무리 뛰어난 기술이라 해도 낡은 브라우저에서 사용할 수 없다면 흥미는 곧 반감될 것입니다. 여기서 fallback이란 CSS3를 지원하지 못하는 상황에서 이를 대체할 수 있는 대안들 입니다. 마이크로소프트의 filter 속성이나 자바스크립트 라이브러리가 그러한 예 입니다.</p>
<p>CSS3를 소개하는 것이 저의 역할이었지만 저는 다음과 같은 메시지를 가장 중요하게 기억해 달라고 청중에게 부탁 했습니다.</p>
<blockquote>
<p>더 좋은 도구를 선택한 사용자에게는 더 향상된 경험을 주자. 이것은 좋은 도구(브라우저)를 선택하지 않은 사용자를 차별하는 것이 아니며 그래서도 안된다. 중요한 것은 &#8216;경험의 질&#8217;을 높이는 것이지 어떤 사용자를 &#8216;포기&#8217;하자는 것이 아니다.</p>
</blockquote>
<p>최근 웹 표준을 준수하지 않는 낡은 브라우저라는 이유로 IE6 브라우저를 지원하지 않는것을 마치 대단한 업적이 되는 것과 같이 말하는 것은 옳지 않다고 말했습니다. 아직까지 상당히 많은 사용자 수를 확보하고 있는 낡은 브라우저(<a href="http://trend.logger.co.kr/report/trend_report.tsp?currRptType=pie&amp;rptCode=4050&amp;tps=2010%2F06%2F05&amp;tpe=2010%2F07%2F03&amp;rptType=pie&amp;rptStep=week&amp;mainSel=NAVER%28%B3%D7%C0%CC%B9%F6%29&amp;subSel=&amp;bigCat=">IE6, 국내 42.84%</a>)를 지원하지 않는 것은 웹 표준의 목표인 상호 운용성(하위 호환성이 포함된 개념)과 대치되는 것이라고 설명 했습니다. 웹 표준은 목표가 아니라 수단일 뿐입니다. IE6가 웹 표준 준수율이 낮다는 이유로 배척하는 것은 옳지 않다고 생각합니다.</p>
<h2>발표자료(참고자료) 내려받기 + 북마크</h2>
<ul>
<li>실전 HTML5 가이드 내려받기 -&nbsp;<a href="http://html5.creation.net/html5-guide.pdf">http://html5.creation.net/html5-guide.pdf</a></li>
<li>CSS3 소개 &#8211; <a href="http://naradesign.net/ouif/css3/">http://naradesign.net/ouif/css3/</a>
<ul>
<li>CSS3 소개(인쇄용) &#8211; <a href="http://naradesign.net/ouif/css3/documentation.html">http://naradesign.net/ouif/css3/documentation.html</a></li>
<li>CSS3 소개(발표용) &#8211; <a href="http://naradesign.net/ouif/css3/presentation.html">http://naradesign.net/ouif/css3/presentation.html</a><span style="white-space: pre" class="Apple-tab-span"> </span></li>
</ul>
</li>
<li>참고(구글에서 제공하는 HTML5/CSS3 프리젠테이션) 추천 &#8211; <a href="http://slides.html5rocks.com/">http://slides.html5rocks.com/</a></li>
</ul>
<h2>몇 가지 오류 정정</h2>
<ul>
<li><a href="http://naradesign.net/ouif/css3/documentation.html#gradient">gradient</a> 속성과 <a href="http://naradesign.net/ouif/css3/documentation.html#animation">animation</a> 속성을 설명하는 과정에서 &#8216;linear&#8217;라는 단어의 발음을 &#8216;라이니어&#8217;라고 잘못 발음 했습니다. &#8216;리니어&#8217;라고 발음해야 합니다.</li>
<li>프리젠테이션에는 흥미를 유발하기 위하여 &#8216;여우&#8217;가 두 번 등장하고 &#8216;늑대&#8217;는 아예 등장하지도 않았는데 제가 &#8216;늑대&#8217;라고 잘못 말했습니다. &#8216;여우&#8217;로 정정 합니다.&nbsp;</li>
<li>&#8216;우리나라&#8217;를 &#8216;저희나라&#8217;라고 잘못 표현했습니다. &#8216;저희나라&#8217;라는 표현은 청중이 외국인인 경우에 &#8216;우리나라&#8217;를 겸손하게 표현하기 위하여 사용할 수도 있는 표현이지만 이를 포함한 모든 상황에서&nbsp;국가를 낮추어 부르는 것은 적절하지 못한 표현이라는 의견이 있다는 것을 뒤늦게 알았습니다.</li>
</ul>
<h2>두 가지 아쉬운 점</h2>
<ul>
<li>유료 세미나 자료를 무료로 웹에 공개하는 것이 불편하다고 느끼는 분이 있어서 제 마음도 불편했습니다. 이 세미나를 주최한 누구도 특정 계층에게만 좋은 정보가 폐쇄적으로 공유되는 것에 찬성하지 않을 것입니다. 이 컨퍼런스는 HTML5 &#8216;독점&#8217; 컨퍼런스가 아닙니다. 지금은 생각이 바뀌셨길 바랍니다.</li>
<li>CSS3 또는 제 발표에 대하여 궁금증을 가진 분들은 Q&amp;A 시간에 질문자로 선택받지 못했습니다. 편파적인 진행에 감사드립니다. (농담입니다. ㅎㅎ)</li>
</ul>
<p>웹 표준 프로젝트 멤버, 발표자, 후원자, 자원봉사자, 긍정적이든 부정적이든 여러가지 피드백을 보내주신 여러분들께 두루 감사드립니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/07/05/1365/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>42 CSS3 Selectors(+Meaning) &amp; Browser Support.</title>
		<link>http://naradesign.net/wp/2010/06/17/1343/</link>
		<comments>http://naradesign.net/wp/2010/06/17/1343/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 18:39:26 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1343</guid>
		<description><![CDATA[CSS level 1~3까지의 모든 선택자와 그에 대한 해설 그리고 대중적인 브라우저들의 지원 여부를 정리하였습니다. CSS 선택자 문법을 익히면 jQuery를 익히는 것에도 무척 도움이 됩니다. jQuery가 HTML 요소를 선택하는 문법이 CSS가 HTML을 선택하는 문법과 거의 동일하니까요. jQuery를 사용하려면 스크립트가 DOM 구조의 HTML을 어떻게 선택하는지 알아야 하고 그것을 알고자 한다면 CSS 선택자 사용법을 익히는 것이 필수적이라고 할 [...]]]></description>
			<content:encoded><![CDATA[<p>CSS level 1~3까지의 모든 선택자와 그에 대한 해설 그리고 대중적인 브라우저들의 지원 여부를 정리하였습니다. CSS 선택자 문법을 익히면 jQuery를 익히는 것에도 무척 도움이 됩니다. jQuery가 HTML 요소를 선택하는 문법이 CSS가 HTML을 선택하는 문법과 거의 동일하니까요. jQuery를 사용하려면 스크립트가 DOM 구조의 HTML을 어떻게 선택하는지 알아야 하고 그것을 알고자 한다면 CSS 선택자 사용법을 익히는 것이 필수적이라고 할 수 있습니다.</p>
<p>제가 요즈음 싸부로 모시는 <a href="http://mygony.com/">행복한고니</a>의 jQuery 강의를 들을 기회가 있었는데 이런걸 알려 주더라구요. jQuery를 잘 쓰려면 먼저 세 가지 순서를 기억해야 하는데 그것은 바로 &#8216;선택하고-실행하고-조정하라&#8217;는 것이었습니다. 오늘 제 포스팅은 &#8216;선택&#8217;과 관련된 이야기 입니다. jQuery 코드는 아직 한 줄도 없지만 사실 저는 jQuery 강좌를 시작한 것과 다를 바 없습니다.</p>
<p>저 jQuery 잘하냐구요? 아니요. 저는 제가 이미 알고 있는 것들을 글로 옮기는 일에는 사실 흥미가 없습니다. 주로 모르는 것을 잘 알기 위해 글을 쓰는 편이죠. 얼마전 라디오를 듣는데 어떤 교수님께서 이런 고백을 하십니다. &quot;교수들은 사실 학생들을 가르치는 척 하면서 배운다&quot; 라구요. 이것은 교수님들만의 이야기는 아닌것 같아요.</p>
<p>참, 그리고 한 가지 더 추가 하자면 CSS는 낡은 브라우저(IE6)에서 선택자 사용을 지원하지 못하는 호환성 문제가 있지만 자바스크립트는 그렇지 않습니다. jQuery는 아래 표시된 모든 브라우저에서 똑같이 선택자 사용을 지원합니다. 이것 또한 jQuery의 장점 이라고 할 수 있겠네요. CSS를 이용해서 뭔가 선택하지 못하는 경우 jQuery를 이용하면 선택할 수 있으니까요.</p>
<p>가령 게시판을 제작할 때 짝수 행 <code>&lt;tr&gt;</code> 만을 선택하여 배경색을 지정하려는 경우 <code>tr:nth-child(even)</code> 이라는 CSS 선택자를 사용할 수 있지만 IE 6~8 브라우저는 아직 CSS 3 선택자를 지원하지 않기 때문에 표현이 불가능 합니다. 그러나 jQuery는 이렇게 &#8216;선택+실행&#8217; 할 수 있습니다.</p>
<p><code class="block">&lt;script type=&quot;text/javascript&quot; src=&quot;http://code.jquery.com/jquery-latest.js&quot;&gt;&lt;/script&gt;  <br />
&lt;script type=&quot;text/javascript&quot;&gt; <br />
jQuery(function($){ <br />
&nbsp; <b>$('tr:nth-child(even)')</b>.css('background','red'); <br />
}); <br />
&lt;/script&gt;</code></p>
<p><b>odd</b>는 홀수를 의미하고 <b>even</b>은 짝수를 의미하죠. 아직 자바스크립트 또는 jQuery를 배울만한 동기가 없으셨던 분들께는 새로운 동기부여가 되었으면 좋겠습니다. 아주 쉽다는 것을 깨닫고 한 번 사용하기 시작하면 걷잡을 수 없이 빠져드는 매력이 있답니다. 그러나 과유불급. 어느곳에 쓰고 어느곳에는 쓰지 말아야 할지 정확히 알고 쓰는것이 더 중요합니다. HTML/CSS 만으로도 충분히 가능한 일을 JS에게 완전히 의존하는 코드를 보면 저는 이렇게 이야기 한답니다. &quot;건방지게 어딜 나서? 겸손할 줄 알아야지. 넌 항상 HTML/CSS 다음이야.&quot; 라구요.</p>
<table border="1">
<caption style="overflow:hidden"> 		<strong style="float: left;">42 CSS 3 Selectors</strong> <span style="float: right;"><strong>C</strong>:Chrome,  <strong>S</strong>:Safari, <strong>F</strong>:Firefox, <strong>O</strong>:Opera,  <strong>IE</strong>:Internet Explorer</span> 		</caption>
<thead>
<tr>
<th scope="col">level</th>
<th scope="col">Selectors</th>
<th scope="col">C5</th>
<th scope="col">S4</th>
<th scope="col">F3.6</th>
<th scope="col">O10.5</th>
<th scope="col">IE8</th>
<th scope="col">IE7</th>
<th scope="col">IE6</th>
<th scope="col">Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<th rowspan="20" scope="row">CSS 3</th>
<th scope="row">E[attr^=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값이 &#8216;val&#8217;으로 시작하는 요소를 선택(공백으로 분리된 값이 일치해야 한다)</td>
</tr>
<tr>
<th scope="row">E[attr$=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값이 &#8216;val&#8217;으로 끝나는 요소를 선택(공백으로 분리된 값이 일치해야 한다)</td>
</tr>
<tr>
<th scope="row">E[attr*=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값에 &#8216;val&#8217;이 포함되는 요소를 선택(공백으로 분리된 값과 정확하게 일치하지 않아도 선택)</td>
</tr>
<tr>
<th scope="row">E:root</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>문서의 최상위 요소(html)를 선택</td>
</tr>
<tr>
<th scope="row">E:nth-child(n)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>앞으로부터 지정된 순서와 일치하는 요소가 E 라면 선택(E 아닌 요소의 순서가  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:nth-last-child(n)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>뒤로부터 지정된 순서와 일치하는 요소가 E 라면 선택(E 아닌 요소의 순서가  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:nth-of-type(n)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소 중 앞으로부터 순서가 일치하는 E 요소를 선택(E 요소의 순서만  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:nth-last-of-type(n)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소 중 끝으로부터 순서가 일치하는 E 요소를 선택(E 요소의 순서만  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:last-child</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>마지막에 등장하는 요소가 E 라면 선택(E 아닌 요소의 순서가  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:first-of-type</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소 중 첫 번째 E를 선택(E 요소의 순서만  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:last-of-type</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소 중 마지막 E를 선택(E 요소의 순서만  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:only-child</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소가 유일한 자식이면 선택(E 아닌 요소가 하나라도 포함되면 선택 안함)</td>
</tr>
<tr>
<th scope="row">E:only-of-type</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소가 유일한 타입이면 선택(E 아닌 요소가 포함되어도 E 타입이 유일하면 선택)</td>
</tr>
<tr>
<th scope="row">E:empty</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>텍스트 및 공백을 포함하여 자식 요소가 없는 E를 선택</td>
</tr>
<tr>
<th scope="row">E:target</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E의 URI가 요청되면 선택(따라서 E는 ID가 지정되어 있어야 한다)</td>
</tr>
<tr>
<th scope="row">E:enabled</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>사용 가능한 폼 콘트롤(input, textarea, select, button) E를 선택</td>
</tr>
<tr>
<th scope="row">E:disabled</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>사용 불가능한 폼 콘트롤(input, textarea, select, button)  E를 선택</td>
</tr>
<tr>
<th scope="row">E:checked</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>선택된 폼 콘트롤(input checked=&quot;checked&quot;)을 선택</td>
</tr>
<tr>
<th scope="row">E:not(s)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td class="no">no</td>
<td>S가 아닌 E 요소를 선택</td>
</tr>
<tr>
<th scope="row">E~F</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>E 요소가 앞에 존재하면 F를 선택(E가 F보다 먼저 등장하지 않으면 선택 안함)</td>
</tr>
<tr>
<th rowspan="11" scope="row">CSS 2</th>
<th scope="row">*</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>모든 요소를 선택</td>
</tr>
<tr>
<th scope="row">E[attr]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217;  속성이 포함된 요소 E를 선택</td>
</tr>
<tr>
<th scope="row">E[attr=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값이 정확하게 &#8216;val&#8217;과 일치하는 요소 E를 선택</td>
</tr>
<tr>
<th scope="row">E[attr~=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값에 &#8216;val&#8217;이 포함되는 요소를 선택(공백으로 분리된 값이 일치해야 한다)</td>
</tr>
<tr>
<th scope="row">E[attr|=val]</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>&#8216;attr&#8217; 속성의 값이 &#8216;val&#8217; 또는 &#8216;val-&#8217; 으로 시작되는 요소 E를 선택</td>
</tr>
<tr>
<th scope="row">E:first-child</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>첫 번째  등장하는 요소가 E 라면 선택(E 아닌 요소의 순서가  계산에 포함됨)</td>
</tr>
<tr>
<th scope="row">E:lang(en)</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td>HTML lang 속성의 값이 &#8216;en&#8217;으로 지정된 요소를 선택</td>
</tr>
<tr>
<th scope="row">E:before</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소의 시작 지점에 생성된 요소를 선택</td>
</tr>
<tr>
<th scope="row">E:after</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td class="no">no</td>
<td>E 요소의 끝 지점에 생성된 요소를 선택</td>
</tr>
<tr>
<th scope="row">E&gt;F</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>E 요소의 자식인 F 요소를 선택</td>
</tr>
<tr>
<th scope="row">E+F</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>E 요소를 뒤따르는 F 요소를 선택(E와 F 사이에 다른 요소가 존재하면 선택 안함)</td>
</tr>
<tr>
<th rowspan="11" scope="row">CSS 1</th>
<th scope="row">E</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>E 요소를 선택</td>
</tr>
<tr>
<th scope="row">E:link</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>방문하지 않은 앵커 E를 선택</td>
</tr>
<tr>
<th scope="row">E:visited</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>방문한 앵커 E를 선택</td>
</tr>
<tr>
<th scope="row">E:hover</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>E 요소에 마우스가 올라가 있는 동안 E를 선택</td>
</tr>
<tr>
<th scope="row">E:active</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>E 요소에 마우스 클릭 또는 키보드 엔터가 눌린 동안 E를 선택</td>
</tr>
<tr>
<th scope="row">E:focus</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>E 요소에 포커스가 머물러 있는 동안 E를 선택</td>
</tr>
<tr>
<th scope="row">E:first-line</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>E 요소의 첫 번째 라인을 선택</td>
</tr>
<tr>
<th scope="row">E:first-letter</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td class="no">no</td>
<td>E 요소의 첫 번째 문자를 선택</td>
</tr>
<tr>
<th scope="row">.class</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>클래스 이름이 class로 지정된  요소 선택</td>
</tr>
<tr>
<th scope="row">#id</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>아이디 이름이 id로 지정된 요소 선택</td>
</tr>
<tr>
<th scope="row">E F</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>E 요소의 자손인 F 요소를 선택</td>
</tr>
</tbody>
</table>
<p><script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript">
jQuery(function($){
$('.no').css({'background':'red','color':'white'});
$('tbody th').css('white-space','nowrap');
});
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/06/17/1343/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>웹 표준 경진대회 &#8216;기출+예상&#8217; 문제 풀어보세요.</title>
		<link>http://naradesign.net/wp/2010/06/08/1342/</link>
		<comments>http://naradesign.net/wp/2010/06/08/1342/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 12:26:51 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[웹 표준]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/06/08/1342/</guid>
		<description><![CDATA[몇일 전 있었던 제4회 웹 표준의 날에는 골든벨 형식의 웹 표준 경진대회도 함께 진행 되었는데요. 웹 표준의 날에 참석하지 못하셨던 분들께도 기회를 드리고자 이렇게 블로그에 옮기게 되었습니다. 재미로 풀어보시고 채점도 한번 해보세요. 참고로 이 블로그에는 경진대회 때 후보 문제로 분류되어 출제되지 않았던 문제도 포함되어 있습니다. 또한 출제가 되었지만 옮기지 않은 문제도 있습니다. 다음 웹 표준 [...]]]></description>
			<content:encoded><![CDATA[<p>몇일 전 있었던 <a href="http://wiki.standardmag.org/kws4day" target="_self">제4회 웹 표준의 날</a>에는 골든벨 형식의 웹 표준 경진대회도 함께 진행 되었는데요. 웹 표준의 날에 참석하지 못하셨던 분들께도 기회를 드리고자 이렇게 블로그에 옮기게 되었습니다. 재미로 풀어보시고 채점도 한번 해보세요. 참고로 이 블로그에는 경진대회 때 후보 문제로 분류되어 출제되지 않았던 문제도 포함되어 있습니다. 또한 출제가 되었지만 옮기지 않은 문제도 있습니다. 다음 웹 표준 경진대회 때 또 나올지도 모를 일이죠. 정답은 빈칸 [<span style="color: rgb(255, 255, 255); ">정답</span>]을 마우스로 드래그 하시면 보입니다. 100점 맞으시는 분께는 진짜 맛있는거 쏠께요. 점수는 양심껏 채점 하시구요. ^^</p>
<p><b>문제 1</b> _&nbsp;CDK는 무엇의 약어 입니까? <br />[<span style="color: rgb(255, 255, 255); ">CSS Design Korea</span>]</p>
<p><b>문제 2</b>&nbsp;_ KWAG은 무엇의 약어 입니까? <br />[<span style="color: rgb(255, 255, 255); ">Korea Web Accessibility Group</span>]</p>
<p><b>문제 3</b> _ CSS, HTML, XHTML 무엇의 약어 입니까? <br />[<span style="color: rgb(255, 255, 255); ">Cascading Style Sheet, Hyper Text Markup Language, eXtensible Hyper Text Markup Language</span>]</p>
<p><b>문제 4</b> _ W3C는 무엇의 약어 입니까?<br />[<span style="color: rgb(255, 255, 255); ">World Wide Web Consortium</span>]</p>
<p><b>문제 5</b> _ <a href="http://naradesign.net/UserFiles/Image/0705/36.png" target="_self">이 이미지</a>가&nbsp;사용되는 테스트의 이름은 무엇입니까?<br />[<span style="color: rgb(255, 255, 255); ">Acid2 Browser Test</span>]</p>
<p><b>문제 6</b> _ DOCTYPE 선언은 닫힘 태그가 있다?<br />[<span style="color: rgb(255, 255, 255); ">X - 없습니다.</span>]</p>
<p><b>문제 7</b> _ XHTML 태그의 속성 및 값은 소문자만 사용할 수 있다?<br />[<span style="color: rgb(255, 255, 255); ">X - 속성은 소문자로만 작성해야 하나 값은 대문자 사용 가능합니다.</span>]</p>
<p><b>문제 8</b> _ 오래된 웹 브라우저들을 위해 디자인된 웹 페이지의 하위 호환성을 유지하기 위해 W3C나 IETF의 표준을 엄격히 준수하는 Standards Mode를 대신하여 사용되는 웹 브라우저의 기술을 나타내는 용어는?<br />[<span style="color: rgb(255, 255, 255); ">Quirks Mode - Quirks Mode는 IE5 브라우저를 흉내낸다</span>]</p>
<p><b>문제 9</b> _ 다음 중 대중적인 브라우저에서 Quirks Mode로 랜더링 되는 DTD를 모두 고르시오.<br />1. DTD 없음.<br />2. &lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.0//EN&#8221;&gt;<br />3.&nbsp;&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;<br />4.&nbsp;&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.01 Transitional//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/html4/loose.dtd&#8221;&gt;<br />5.&nbsp;&lt;!DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.0 Transitional//EN&#8221;&gt;<br />6.&nbsp;&lt;!DOCTYPE html&gt;<br />[<span style="color: rgb(255, 255, 255); ">1번, 5번. 참고 -&nbsp;http://naradesign.net/wp/2007/03/27/118/</span>]</p>
<p><b>문제 10</b> _ 하이퍼링크에서 밑줄을 없애기 위한 방법으로 맞는 것은?<br />1. a { text-decoration:no underline; }<br />2.&nbsp;a { decoration:no underline; }<br />3. a { text-decoration:none; }<br />4. a { underline:none; }<br />[<span style="color: rgb(255, 255, 255); ">3번</span>]</p>
<p><b>문제 11</b> _ 소문자로 작성된 영문 단어의 첫 글자를 대문자로 바꾸는 CSS 스타일은 무엇입니까?<br />1.&nbsp;CSS로는 불가능하다.<br />2. { text-transform:uppercase; }<br />3. { text-transform:capitalize; }<br />[<span style="color: rgb(255, 255, 255); ">3번</span>]</p>
<p><b>문제 12</b> _ IE6 브라우저에서 float과 margin을 같은 방향으로 설정 했을 때 발생하는 더블 마진 버그를 예방하는 방법은?<br />1. width 값을 부여한다.<br />2. { position:relative; }<br />3. { display:inline; }<br />4. { zoom:1; }<br />[<span style="color: rgb(255, 255, 255); ">3번 - IE6 브라우저는 float과 margin의 방향이 같은 경우 두 배의 마진이 발생한다. 이 때 display 속성을 inline으로 바꾸면 더블 마진 버그가 발생하지 않는다. 그러나 float 속성이 부여된 요소는 display 속성이 block이 된 상태로써 이 값은 어떤 경우라도 덮어 쓸 수 없기 때문에 이 요소의 display 속성은 여전히 block 이다.</span>]</p>
<p><b>문제 13</b> _ CSS 속성 중 cursor 속성의 값으로 올바르지 않은 것은?<br />1. default<br />2. help<br />3. pointer<br />4. hand<br />[<span style="color: rgb(255, 255, 255); ">4번 - hand라는 값은 MS IE 전용 값으로써 비 표준 속성이다. 그러나 IE 5.5 버전 이하의 브라우저는 pointer라는 값을 지원하지 않고 hand라는 값을 지원하는데 hand라는 값은 pointer와 같은 모습으로 랜더링된다.</span>]</p>
<p><b>문제 14</b> _ CSS의 속성 가운데 박스의 border-color 속성이 지정되지 않은 경우 border-color의 값은 color 속성의 값으로부터 상속 받는다?<br />[<span style="color: rgb(255, 255, 255); ">O - 정답 입니다. border-color의 값이 지정되지 않은 경우 color의 값은 border-color의 값이 됩니다. 즉, border-color 를 지정하지 않은 요소에 color:blue 값을 지정하는 경우 이 요소의 border-color는 blue가 됩니다.</span>]</p>
<p><b>문제 15</b> _ &lt;input&gt; 요소의 type 속성은 생략할 수 있다?<br />[<span style="color: rgb(255, 255, 255); ">O - 생략할 수 있습니다. 생략하는 경우 type 속성의 기본 값은 text가 됩니다. 한편 사용자의 입력 내용을 서버로 전송하려면 반드시 name 속성을 사용해야 합니다. 그러나 문법적으로는 어떤 속성도 필수로 요구하지 않습니다.</span>]</p>
<p><b>문제 16</b> _&nbsp;Transitional DTD를 사용하는&nbsp;HTML 또는 XHTML 문서에서 CSS font 속성은 table 요소에 상속되지 않는다?<br />[<span style="color: rgb(255, 255, 255); ">X - 상속 됩니다. 그러나 DTD가 Quirks Mode인 경우에는 상속되지 않습니다.</span>]</p>
<p><b>문제 17</b> _ &lt;textarea&gt; 요소는 row 속성과 col 속성을 생략할 수 있다?<br />[<span style="color: rgb(255, 255, 255); ">X - 반드시 작성해야 하는 속성으로서 생략할 수 없습니다.</span>]</p>
<p><b>문제 18</b> _ CSS 속성 중 background-color는 Javascript에서 backgroundcolor로 표기한다?<br />[<span style="color: rgb(255, 255, 255); ">X - 대소문자에 유의해야 합니다. Javascript 에서는 CSS 속성을 카멜 케이스로 표기하는데 background-color는 backgroundColor 라고 표기 합니다.</span>]</p>
<p><b>문제 19</b> _ &lt;button&gt; 요소에 type 속성을 지정하지 않는 경우 type 속성의 기본값은 button 이다?<br />[<span style="color: rgb(255, 255, 255); ">X - button &nbsp;요소에 type 속성을 지정하지 않으면 기본 값은 submit이 되어 form을 전송하게 됩니다. 따라서 form을 전송하기 위한 목적이 아니라 단순하게 UI를 조작하기 위한 버튼(예:닫기, 인쇄) 이라면 type 속성을 button 이라고 정확히 명시해 주어야 합니다. 한편 IE6~7 브라우저는 button 요소에 type 속성을 지정하지 않는 경우 type 값이 button으로 동작하므로 혼동하지 않도록 유의해야 합니다.</span>]</p>
<p><b>문제 20</b> _ XHTML 1.0 문서는 어떤 종류의 DTD를 가지고 있습니까?<br />[<span style="color: rgb(255, 255, 255); ">Strict, Transitional, Frameset</span>]</p>
<p><b>문제 21</b> _ 웹 접근성 국가 표준의 4가지 원칙은 무엇입니까?<br />[<span style="color: rgb(255, 255, 255); ">인식의 용이성(Perceivable), 운용의 용이성(Operable), 이해의 용이성(Understandable), 신기술적 진보성(Robust)</span>]</p>
<p><b>문제 22</b> _ CSS를 발명한 사람은 누구 입니까? 두 명을 고르세요.<br />1. Eric Meyer<br />2.&nbsp;Håkon Wium Lie<br />3. Tim Berners Lee<br />4. Bert Bos<br />5. Jeffrey Zeldman<br />[<span style="color: rgb(255, 255, 255); ">2번, 4번</span>]</p>
<p><b>문제 23</b> _ 다음은 HTML DTD 문서가 문법을 정의하는 기호에 관한 설명입니다. 맞지 않는 것은?<br />1. A | B : A 또는 B로써 순서에 무관하게 사용할 수 있다.<br />2. A || B : A 또는 B로써 순서를 지켜야 한다.<br />3. A, B : A 그리고 B는 순서를 지켜야 한다.<br />4. A &amp; B : A 그리고 B는 순서에 무관하다.<br />[<span style="color: rgb(255, 255, 255); ">2번 - || 기호는 DTD에 없습니다.</span>]</p>
<p><b>문제 24</b> _&nbsp;다음은 HTML DTD가 문법을 정의하는 기호에 관한 설명입니다. 맞는 것을 모두 고르시오.&nbsp;<br />1. A : A는 필수적이며 한 번만 사용할 수 있다.<br />2. A+ : A는 필수적이며 한 번 이상 사용해야 한다.<br />3. A? : A는 생략하거나 한 번만 사용할 수 있다.<br />4. A* : A는 생략하거나 한 번 이상 사용할 수 있다.<br />5. +(A) : 추가적으로 A를 사용할 수 있다.<br />6. -(A) : 예외적으로 A는 사용할 수 없다.<br />[<span style="color: rgb(255, 255, 255); ">1번, 2번, 3번, 4번, 5번, 6번 모두 맞는 설명 입니다.</span>]</p>
<p><b>문제 25</b> _ 웹 접근성 준수를 의무화한 이 법률의 이름은 무엇입니까?<br />[<span style="color: rgb(255, 255, 255); ">장애인차별금지 및 권리구제 등에 관한 법률로써 줄여서 장차법이라고도 부릅니다. 이 법률은 웹 접근성 뿐만 아니라 사회 전반에 걸쳐 발생하는 장애인의차별에 관한 문제를 다루고 있습니다.</span>]</p>
<p><b>문제 26</b> _ &lt;title&gt; 요소는 생략할 수 있다?<br />[<span style="color: rgb(255, 255, 255); ">X - 생략할 수 없습니다.</span>]</p>
<p><b>문제 27</b> _ XHTML 문서에서 fieldset 요소를 사용하는 경우 legend 요소는 생략할 수 있다?<br />[<span style="color: rgb(255, 255, 255); ">O - 생략할 수 있습니다. 그러나 HTML 문서에서는 생략할 수 없습니다.</span>]</p>
<p><b>문제 28</b> &#8211; HTML/XHTML Transitional 문서에서 address 요소는 자식 요소로 어떤 블럭 요소도 포함할 수 없다?<br />[<span style="color: rgb(255, 255, 255); ">X - 거의 모든 블럭 요소를 포함할 수 없습니다. 그러나 유일하게 P 요소를 포함할 수 있습니다. 한편 HTML/XHTML Strict 문서에서는 P 요소를 비롯하여 어떤 블럭 요소도 포함할 수 없습니다.</span>]</p>
<p><b>문제 29</b> &#8211; inline 요소로 분류되면서도 block 요소와 inline 요소를 모두 포함할 수 있는 요소 이름을 아는대로 쓰시오.<br />[<span style="color: rgb(255, 255, 255); ">button, map, object, iframe, applet, ins, del</span>]</p>
<p><b>문제 30</b> &#8211; iframe 요소는 HTML5(WD) 버전에서 폐기 되었다?<br />[<span style="color: rgb(255, 255, 255); ">X - 2010현 현재 초안에 의하면 폐기되지 않았습니다. 현재라는 단서를 붙인 것은 스펙이 아직 확정되지 않았기 때문입니다.</span>]</p>
<p><b>문제 31</b> -&nbsp;CSS3(WD)의 border-radius 속성을 이용하여 좌측 상단의 모서리를 둥글게 처리하고자 한다. 이 때 표준 초안에서<br />
제안하고 있는 속성의 표기법은?<br />1. border-radius-left-top<br />2. border-left-top-radius<br />3. border-radius-top-left<br />4. border-top-left-radius<br />[<span style="color: rgb(255, 255, 255); ">4번 - border의 수직(top, bottom) 방향을 먼저 작성하고 수평(left, right) 방향을 작성한 다음 radius를 작성 합니다.</span>]</p>
<p><b>문제 32</b> &#8211; &#8216;I18N&#8217;은 무엇의 약어 입니까?<br />[<span style="color: rgb(255, 255, 255); "><span style="color: rgb(255, 255, 255); ">internationalization(국제화) - 첫 글자인 'i'와 마지막 글자인 'n' 사이에 포함된 알파벳의 개수가 '18'개인데 이것을 'i18n' 으로 줄여서 표기하고 있습니다. W3C의 국제화 활동 참고.&nbsp;</span></span><span style="color: rgb(255, 255, 255); ">http://www.w3.org/International/</span>]</p>
<p><span style="color: rgb(255, 255, 255); "></span></p>
<p>고생하셨습니다. 몇 문제 맞히셨나요? 어떤 문제가 어렵게 느껴지셨나요? 새롭게 배운 지식이 있으셨나요? 너무 많이 틀렸다고 낙심하지는 마세요. 제가 주관적으로 판단하건데 20문제 이상 맞히셨다면 충분히 훌륭하다고 생각하구요. 16문제 이상 맞히신 분들도 양호한 편이라고 생각합니다. 문제는 16문제 미만인데요. 내년에도 이러시면 곤란해요. ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/06/08/1342/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>제4회 웹 표준의 날 + 9 Useful CSS3 Properties.</title>
		<link>http://naradesign.net/wp/2010/06/01/1315/</link>
		<comments>http://naradesign.net/wp/2010/06/01/1315/#comments</comments>
		<pubDate>Mon, 31 May 2010 21:25:58 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[생활의 발견]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[웹표준의날]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1315</guid>
		<description><![CDATA[지난주 토요일 제4회 웹 표준의 날 행사가 있었습니다. 저는 이 행사를 2006년 첫 회 때부터 빠짐없이 참석했고 후기도 꼬박꼬박 작성해 왔었답니다. 제1회(2006년 9월) -&#160;제1회 Css Design Korea 참가 후기. 제2회(2006년 12월) -&#160;2nd Web Standards Day, 웹 표준 개발자들의 잔치. 제3회(2009년 2월) -&#160;웹 표준을 넘어서&#8230; 최근에 만났던 몇몇 분들께서는 저를 보고 마치 연예인 보는것 같았다는 말씀들을 [...]]]></description>
			<content:encoded><![CDATA[<p>지난주 토요일 <a href="http://wiki.standardmag.org/kws4day">제4회 웹 표준의 날</a> 행사가 있었습니다. 저는 이 행사를 2006년 첫 회 때부터 빠짐없이 참석했고 후기도 꼬박꼬박 작성해 왔었답니다.</p>
<ol>
<li>제1회(2006년 9월) -&nbsp;<a href="http://naradesign.net/wp/2006/10/29/85/">제1회 Css Design Korea 참가 후기.</a></li>
<li>제2회(2006년 12월) -&nbsp;<a href="http://naradesign.net/wp/2006/12/01/97/">2nd Web Standards Day, 웹 표준 개발자들의 잔치.</a></li>
<li>제3회(2009년 2월) -&nbsp;<a href="http://naradesign.net/wp/2009/02/08/604/">웹 표준을 넘어서&hellip;</a></li>
</ol>
<p>최근에 만났던 몇몇 분들께서는 저를 보고 마치 연예인 보는것 같았다는 말씀들을 해주셔서 좀 쑥스럽기도 한데요. 제가 이 행사를 통해서&nbsp;<a href="http://hyeonseok.com/">신현석</a>님, <a href="http://hooney.net/">조훈</a>님, <a href="http://channy.creation.net/">윤석찬</a>님, <a href="http://www.sumanpark.com/">만박</a>님을 처음 뵐 때에도 그랬었답니다. ㅋㅋㅋ</p>
<p>웹 표준이라는 주제에 관심을 가지고 알고자 했을 때 이 분들이 없었다면 무척 많은 시행착오가 있었을꺼예요. 시행착오는 뭐 지금도 하고 있기는 하지만 이 분들 덕분에 조금 더 쉽게 지나왔기에 항상 존경하고 스승같이 생각하고 있습니다. 때때로 이 분들의 어떤 생각에는 공감하지 못하는 상황에서도 그 사실만은 변함이 없답니다.</p>
<p>제4회 웹 표준의 날 행사 분위기는 <a href="http://wiki.standardmag.org/kws4day#section6">참여했던 다른 분들의 포스팅</a>을 통해서도 확인하실 수 있기 때문에 행사 풍경을 전해드리는 것은 생략하고 웹 표준의날에 대한 개인적인 바램을 적어볼까 합니다.</p>
<p>웹 표준의날은 동종 업계에서 동료 의식을 지닌 분들이 모여 옳은 철학과 최신 정보와 인맥을 교류하는 장으로 자리매김 되었다고 생각합니다. 지금도 부족함이 없지만 더 많은 것을 바란다면 <b>&#8216;이 분야의 칭찬거리&#8217;</b>를 발굴하는 장으로 거듭났으면 합니다.</p>
<p>저는 제2회를 제외하고 모두 발표자로 참여했었는데요. 이제는 저보다 더 뛰어난 후배님들께서 나서주셨으면 합니다.&nbsp;저와 같거나 오히려 더 뛰어난 능력을 가진 분들이 많다는 것을 저는 잘 알고 있습니다. &nbsp;아무리 나이가 어리고 경력이 짧아도 자기 분야에 대한 옳은 철학과 열정을 지닌 분들을 존경합니다. 다음 웹 표준의 날에는 그런 후배님들이 나와서 웹 표준의 날을 상큼하게 빛내 주셨으면 좋겠습니다.&nbsp;</p>
<p>그리고 이번에 새롭게 시작된 골든벨 형식의 웹 표준 경진대회도 좋았는데요. 다음 회차부터는 <b>&#8216;유니버설 웹 어워드&#8217;</b> 라는 주제로 특정 기간 동안 제작된 웹 사이트 가운데 웹 표준과 웹 접근성을 잘 지켜서 장애가 있고 없고를 떠나 누구나 이용할 수 있도록 만들어진 그런 사이트를 <b>&#8216;추천하고 발굴하고 시상&#8217;</b>하는 것은 어떨까요?</p>
<p>이런 상이 있다면 웹 표준의 날은 어쩌다 한 번 오는 그런 날이 아니라 누구나 손 꼽아 기다리는 그런 날이 되지 않을까요? 그 어떤 경품보다도 값진 상이 되지 않을까요?</p>
<p>그리고 갑자기 쌩뚱맞을 수도 있지만 저와 같은 업계에서 저와 같은 직군 <b>&#8216;웹 디자이너, 웹 퍼블리셔, UI 개발자, 웹 개발자&#8217;</b>로서 종사하는 동료 여러분께 한 가지 제안을 드리고 싶습니다.&nbsp;일은 넘치고, 전문 인력은 턱없이 부족하고, 연봉 수준은 이런 상황에 맞지 않게 너무 짜고, 지금 하고 있는 일은 마치 노동집약형 산업이 아닐까? 라고 생각하지는 않으시는지요?</p>
<p>이런 상황을 타개하는 방법으로써 저는 다음과 같은 행동 강령이 필요하다고 생각합니다.</p>
<ol>
<li>첫째, 매일 야근을 하지 않으려면 더 많은 전문 인력이 시장에 투입되어야 합니다. 하루라도 빨리 부사수가 채용되길 원하신다면 여러분들의 지식을 아낌없이 회사 밖에 있는 후배들에게도 나누어 주세요.</li>
<li>둘째, 노동집약형 산업을 벗어나려면 부가 가치를 만들어야 합니다. 완벽한 HTML/CSS/JS 코드를 생산하는 일보다 더 중요한 것은 그 코드의 가치를 인정 받는 일 입니다. 여러분의 코드가 단순히 문법적으로만 유효한 코드가 아니라는 것을 증명해 주세요.</li>
<li>셋째, 협업하는 분들이 웹 표준 모른다고 구박만 하지 마시고 친절하세요. 우리가 하고 있는 일의 가치를 가장 가까이에서 제대로 평가해 줄 수 있는 분들이고 저희를 필요로 하는 분들이기 때문입니다.</li>
</ol>
<p>CSS3 말고 요런걸 발표할껄 그랬나요? ^^; CSS3 발표자료는 여기 있습니다. &nbsp;<a href="http://naradesign.net/ouif/css3/">9 Useful CSS3 Properties</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/06/01/1315/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>jQuery를 이용하여 FAQ 목록 만들기.</title>
		<link>http://naradesign.net/wp/2010/03/26/1265/</link>
		<comments>http://naradesign.net/wp/2010/03/26/1265/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 16:15:41 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/26/1265/</guid>
		<description><![CDATA[FAQ(Frequently Asked Question) 목록은 어떤 요소로 마크업 할 것인지가 가장 고민이 됩니다. 예를 들면 다음과 같은 다양한 마크업 방법이 있는데요. ul &#62; li &#62; (p+p) ul &#62; li &#62; (hx+p) ul &#62; li &#62; dl &#62; (dt+dd) dl &#62; (dt+dd) + (dt+dd) + (dt+dd) &#8230; dl(dt+dd) + dl(dt+dd) + dl(dt+dd) &#8230; 오늘 제가 선택한 방법은 [...]]]></description>
			<content:encoded><![CDATA[<p>FAQ(Frequently Asked Question) 목록은 어떤 요소로 마크업 할 것인지가 가장 고민이 됩니다. 예를 들면 다음과 같은 다양한 마크업 방법이 있는데요.</p>
<ul>
<li>ul &gt; li &gt; (p+p)</li>
<li>ul &gt; li &gt; (hx+p)</li>
<li>ul &gt; li &gt; dl &gt; (dt+dd)</li>
<li>dl &gt; (dt+dd) + (dt+dd) + (dt+dd) &#8230;</li>
<li>dl(dt+dd) + dl(dt+dd) + dl(dt+dd) &#8230;</li>
</ul>
<p>오늘 제가 선택한 방법은 첫 번째 방법 이었습니다. 이 방법이 정답이라고 단적으로 말하기는 어렵고 다른 방법이 틀렸다고 말하기도 어렵습니다. HTML 구조에 정답이 있는것은 아니니까요. 하지만 제가 첫 번째 마크업을 선택한 이유를 설명드려 보겠습니다. 솔직히 말씀 드리자면 이 선택에 대한 확신은 아직 없습니다.</p>
<ul style="list-style-type: decimal;">
<li>질문과 답변 목록은 &#8216;목록&#8217; 이기 때문에 일단 &#8216;ul, ol, dl&#8217; 요소 가운데 하나를 사용하는 것이 적합하다고 판단 했습니다.</li>
<li>&#8216;ol&#8217; 목록은 항목의 배치 순서에 의미가 있는 경우 사용하면 되는데 &#8216;질문/답변&#8217; 목록은 배치 순서를 바꿔도 의미가 달라지지 않는 비 순차 목록이라고 판단해서 제외 했습니다.</li>
<li>&#8216;ul&#8217; 목록은 항목의 배치 순서에 의미가 없는 경우 사용하면 되는데 &#8216;질문/답변&#8217; 목록은 배치 순서에 의미가 없다고 판단해서 사용 했습니다.</li>
<li>&#8216;dl&#8217; 목록은 정의 목록으로써 질문과 답변 형식에 사용해도 괜찮다고 판단 했지만 한 쌍의 &#8216;dt+dd&#8217; 요소를 한 번 더 감싸주는 마크업이 필요한 경우 CSS 스타일을 적용하는데 제한이 발생하기 때문에 제외 했습니다.</li>
<li>&#8216;dl+dl&#8217; 형식은 &#8216;dl&#8217; 요소를 &#8216;항목의 그룹핑&#8217; 아닌 단 하나의 &#8216;항목&#8217;에만 적용했기 때문에 의미에 맞지 않다고 판단해서 제외 했습니다.</li>
<li>&#8216;li &gt; dl &gt; (dt+dd)&#8217; 형식은 목록 안에 또 다른 목록을 포함시키는 형태로써 하나의 항목을 두 번이나 목록 요소로 중첩 마크업 하는 것이 남용이라고 판단해서 제외 했습니다.</li>
<li>&#8216;ul &gt; li &gt; (p+p)&#8217; 형식으로 마크업 하는 것은 &#8216;질문/답변&#8217;을 모두 각각의 문단으로 볼 수 있기 때문에 적합하다고 판단 했습니다. 그러나 &#8216;질문&#8217;과 &#8216;답변&#8217;을 동일한 요소 &#8216;p&#8217;로 마크업 했다는 점에서 여전히 뒷맛이 개운치가 않네요.</li>
<li>&#8216;li &gt; (hx+p)&#8217; 형식은 목록 안에 제목(hx) 요소가 들어가는 형태로써 의미상 가장 적합하다고 판단 했지만 목록 안에서 &#8216;hx&#8217; 요소를 사용하는 것이 &#8216;hx&#8217;를 남용하는 것은 아닌지 구조의 적절함에 확신이 서지 않아서 제외 했습니다. 그러나 만약 &#8216;li&gt;(p+p)&#8217; 구조를 선택하지 않았다면 이것을 선택했을 것입니다.</li>
<li>만약 한 쌍의 &#8216;(dt+dd)&#8217; 요소를 &#8216;dl&#8217; 요소로 직접 감싸는 대신 &#8216;di&#8217;(definition item)와 같이 한번 더 묶어주는 마크업 요소가 존재 했다면 저는 &#8216;dl&#8217; 요소를 선택했을 것입니다. 제가 이상적이라고 생각하는 마크업 구조는 &#8216;dl &gt; di &gt; (dt+dd)&#8217; 이런 구조 인데 &#8216;di&#8217; 요소는 실제로는 존재하지 않는 요소이므로 착오 없으시길 바랍니다.</li>
</ul>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="jQuery를 이용한 FAQ 목록 입니다. 이런 효과를 흔히 아코디언 효과(accordion effect)라고 부릅니다. 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/list/faq/xhtml.html" style="display: block; height: 545px;"></iframe><span>jQuery를 이용한 FAQ 목록 입니다. 이런 효과를 흔히 아코디언 효과(accordion effect)라고 부릅니다. <a target="_blank" href="http://naradesign.net/ouif/uio/list/faq/xhtml.html">이 예제를 새 창으로 보기</a>&nbsp;| <a href="http://naradesign.net/ouif/">OUIF</a> 페이지에 더 많은 예제들이 있습니다.</span></div>
<h3 id="h1269531325137">a 요소에 유효한 URL 사용하기</h3>
<p>질문은 &#8216;a&#8217; 요소로 마크업 되어 있고 &#8216;href&#8217; 값으로는 유효한 &#8216;URL&#8217;(#a1, #a2, #a3 &#8230;)이 포함되어 있습니다. 유효하다는 것은 링크의 목적지가 존재하고 링크 주소를 따라가면 기대했던 자원이 있다는 것을 의미 합니다. 만약 누군가에게 특정 &#8216;질문/답변&#8217; 항목을 링크 주소를 통해 알려주어야 한다면 여러분은 마우스 우측 버튼을 눌러 &#8216;링크 주소 복사&#8217; 기능을 이용할 수 있을 것입니다. URL이 유효하지 않다면 이런 편의는 불가능한 일입니다. &#8216;href&#8217; 값으로 의미 없는 값 &#8216;#&#8217;을 넣는다면 클릭 또는 키보드 Enter를 내리 쳤을 때 키보드 포커스는 페이지 맨 처음으로 이동해 버리기 때문에 화면 낭독기 사용자(시각 장애인)는 처음부터 다시 탐색을 시도해야 합니다. 유효한 URL을 작성하는 것은 사용성과 접근성을 모두 높여주는 일로써&nbsp;되도록 모든 링크에는 유효한 URL 값을 포함해야 합니다.</p>
<h3 id="h1269531690656">관련글</h3>
<ul>
<li><a href="http://www.clearboth.org/wiki/doku.php?id=lecture:html:faq_semantic_markup">FAQ의 의미 있는 마크업은?</a>&nbsp;- 추지호</li>
<li><a target="_self" href="http://njpaiks.egloos.com/2407349">목록(ol ul dl)의 올바른 활용 문제</a> &#8211; 백남중</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/26/1265/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>CSS Bar Graph. Horizontal. Vertical. Star Rating.</title>
		<link>http://naradesign.net/wp/2010/03/17/1233/</link>
		<comments>http://naradesign.net/wp/2010/03/17/1233/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 12:23:19 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[Bar Graph]]></category>
		<category><![CDATA[Horizontal]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Vertical]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/17/1233/</guid>
		<description><![CDATA[목록(ul) 요소를 이용하여 CSS로 모양을 낸 수직 막대 그래프 입니다. 이 예제를 새 창으로 보기 목록(ul) 요소를 이용하여 CSS로 모양을 낸 수평 막대 그래프 입니다. 이 예제를 새 창으로 보기 다양한(p, ul, ol, dl) 요소에 콘텐츠로 포함되어 CSS로 모양을 낸 인라인 수평 막대 그래프 입니다. 이 예제를 새 창으로 보기 배경 이미지와 CSS로 모양을 낸 [...]]]></description>
			<content:encoded><![CDATA[<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="목록(ul) 요소를 이용하여 CSS로 모양을 낸 수직 막대 그래프 입니다. 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/graph/vertical/xhtml.html" style="display: block; height: 385px;"></iframe><span>목록(ul) 요소를 이용하여 CSS로 모양을 낸 수직 막대 그래프 입니다. <a target="_blank" href="http://naradesign.net/ouif/uio/graph/vertical/xhtml.html">이 예제를 새 창으로 보기</a></span></div>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="목록(ul) 요소를 이용하여 CSS로 모양을 낸 수평 막대 그래프 입니다. 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/graph/horizontal/xhtml.html" style="display: block; height: 385px;"></iframe><span>목록(ul) 요소를 이용하여 CSS로 모양을 낸 수평 막대 그래프 입니다. <a target="_blank" href="http://naradesign.net/ouif/uio/graph/horizontal/xhtml.html">이 예제를 새 창으로 보기</a></span></div>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="다양한(p, ul, ol, dl) 요소에 콘텐츠로 포함되어 CSS로 모양을 낸 수평 막대 그래프 입니다. 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/graph/inline/xhtml.html" style="display: block; height: 587px;"></iframe><span>다양한(p, ul, ol, dl) 요소에 콘텐츠로 포함되어 CSS로 모양을 낸 인라인 수평 막대 그래프 입니다. <a target="_blank" href="http://naradesign.net/ouif/uio/graph/inline/xhtml.html">이 예제를 새 창으로 보기</a></span></div>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="배경 이미지와 CSS로 모양을 낸 별점 그래프 입니다. 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/starRating/regular/xhtml.html" style="display: block; height: 450px;"></iframe><span>배경 이미지와 CSS로 모양을 낸 별점 그래프 입니다. <a target="_blank" href="http://naradesign.net/ouif/uio/starRating/regular/xhtml.html">이 예제를 새 창으로 보기</a></span></div>
<p style="padding: 1em; border: 1px dotted rgb(204, 204, 204); background: none repeat scroll 0% 0% rgb(248, 248, 248); text-align: center;">이 밖에 더 많은 예제들이 <a title="Open User Interface Framework" href="http://naradesign.net/ouif/">OUIF</a> 페이지에 링크되어 있습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/17/1233/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>jQuery+CSS Tree Navigation.</title>
		<link>http://naradesign.net/wp/2010/03/15/1225/</link>
		<comments>http://naradesign.net/wp/2010/03/15/1225/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 12:30:15 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tree Navigation]]></category>
		<category><![CDATA[Tree View]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/15/1225/</guid>
		<description><![CDATA[jQuery를 이용한 Tree Navigation 예제는 어렵지 않게 찾을 수 있었는데요. 키보드만으로도 조작이 가능한 접근성 있는 예제는 찾기가 쉽지 않더라구요. 공개된 소스코드를 수정해서 사용할까 하다가 공부도 할 겸 해서 직접 만들어 봤습니다. 중첩 목록(ul&#62;li&#62;ul&#62;li) 구조로 마크업 했고 현재 페이지 활성 상태를 표시 하려면 해당 li 요소에 .active 클래스를 추가(서버측 스크립트로)해 주면 됩니다. 계층 구조가 무한대로 깊어지는 [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery를 이용한 Tree Navigation 예제는 어렵지 않게 찾을 수 있었는데요. 키보드만으로도 조작이 가능한 접근성 있는 예제는 찾기가 쉽지 않더라구요. 공개된 소스코드를 수정해서 사용할까 하다가 공부도 할 겸 해서 직접 만들어 봤습니다.</p>
<p>중첩 목록(ul&gt;li&gt;ul&gt;li) 구조로 마크업 했고 현재 페이지 활성 상태를 표시 하려면 해당 li 요소에 .active 클래스를 추가(서버측 스크립트로)해 주면 됩니다. 계층 구조가 무한대로 깊어지는 상황도 처리가 가능 합니다. &#8216;+/-&#8217; 토글 버튼에 키보드가 접근해서 하위 목록 토글 인터렉션을 조작할 수 있습니다.</p>
<p><a target="_blank" href="http://naradesign.net/ouif/uio/navigation/vertical/tree/xhtml.html">예제를 새 창으로 보기</a></p>
<div class="iframe"><iframe frameborder="0" width="100%" style="display: block; height: 684px;" src="http://naradesign.net/ouif/uio/navigation/vertical/tree/xhtml.html" title="예제를 새 창으로 보기"></iframe></div>
<p style="padding: 1em; border: 1px dotted rgb(204, 204, 204); background: none repeat scroll 0% 0% rgb(248, 248, 248); text-align: center;">이 밖에 더 많은 예제들이 <a href="http://naradesign.net/ouif/" title="Open User Interface Framework">OUIF</a> 페이지에 링크되어 있습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/15/1225/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>메뉴 건너 뛰기 링크(Skip Navigation).</title>
		<link>http://naradesign.net/wp/2010/03/13/1221/</link>
		<comments>http://naradesign.net/wp/2010/03/13/1221/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:11:47 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Skip Navigation]]></category>
		<category><![CDATA[메뉴건너뛰기]]></category>
		<category><![CDATA[보편적디자인]]></category>
		<category><![CDATA[웹접근성]]></category>
		<category><![CDATA[웹표준]]></category>
		<category><![CDATA[유니버설디자인]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/13/1221/</guid>
		<description><![CDATA[헤딩은 콘텐츠 블럭을 우회하는 가장 효과적인 방법 반복되는 콘텐츠 블럭을 우회하는 방법 메뉴 건너 뛰기 링크에 관한 쟁점 키보드 사용자에게만 유용한 메뉴 건너 뛰기 링크 글로벌 네비게이션을 본문 콘텐츠보다 늦게 마크업 하는 경우 지나치게 많은 &#8216;** 건너 뛰기&#8217; 제공은 오히려 공해 메뉴 건너 뛰기에 관한 더 많은 의견들 메뉴 건너 뛰기 링크란 하나의 웹 사이트에서 [...]]]></description>
			<content:encoded><![CDATA[<ul class="toc">
<li class="toc3"><a href="#h1268411810971">헤딩은 콘텐츠 블럭을 우회하는 가장 효과적인 방법</a></li>
<li class="toc3"><a href="#h1268411867432">반복되는 콘텐츠 블럭을 우회하는 방법</a></li>
<li class="toc3"><a href="#h1268412059078">메뉴 건너 뛰기 링크에 관한 쟁점</a></li>
<li class="toc3"><a href="#h1268414146871">키보드 사용자에게만 유용한 메뉴 건너 뛰기 링크</a></li>
<li class="toc3"><a href="#h1268414697637">글로벌 네비게이션을 본문 콘텐츠보다 늦게 마크업 하는 경우</a></li>
<li class="toc3"><a href="#h1268415232758">지나치게 많은 &#8216;** 건너 뛰기&#8217; 제공은 오히려 공해</a></li>
<li class="toc3"><a href="#h1268416423255">메뉴 건너 뛰기에 관한 더 많은 의견들</a></li>
</ul>
<p>메뉴 건너 뛰기 링크란 하나의 웹 사이트에서 모든 페이지에 걸쳐 반복해서 등장하는 글로벌 네비게이션과 로컬 네비게이션을 건너 뛸 수 있는 링크를 말합니다. 마우스를 함께 사용하는 사람은 이 링크가 왜 필요한지 알기 어렵지만 키보드만으로 웹을 탐색하는 사람들에게는 상당히 중요한 의미를 갖습니다.</p>
<blockquote class="citation">
<p>2.4.1 Bypass Blocks: A mechanism is available to bypass blocks of content that are repeated on multiple Web pages. (Level A) 2.4.1 블럭 우회: 여러 웹 페이지에서 반복되는 콘텐츠 블럭을 우회할 수 있어야 한다. (수준 A)</p>
<p><cite><a href="http://naradesign.net/wiki/WCAG_2.0#.EC.A7.80.EC.B9.A8_2.4_.ED.83.90.EC.83.89_.EA.B0.80.EB.8A.A5.EC.84.B1:_.ED.83.90.EC.83.89.ED.95.98.EA.B1.B0.EB.82.98_.EC.BD.98.ED.85.90.EC.B8.A0.EB.A5.BC_.EC.B0.BE.EA.B1.B0.EB.82.98_.EC.9C.84.EC.B9.98.EB.A5.BC_.ED.8C.90.EB.8B.A8.ED.95.A0_.EC.88.98_.EC.9E.88.EB.8F.84.EB.A1.9D_.EB.8F.84.EC.9A.B8_.EB.B0.A9.EB.B2.95.EC.9D.84_.EC.A0.9C.EA.B3.B5.ED.95.B4.EC.95.BC_.ED.95.9C.EB.8B.A4.">WCAG 2.0 : 2.4.1</a></cite></p></blockquote>
<h3 id="h1268411810971">헤딩은 콘텐츠 블럭을 우회하는 가장 효과적인 방법</h3>
<p>시각 장애인은 마우스 포인터를 볼 수 없기 때문에 키보드만으로 웹을 탐색을 합니다. 물론 Tab키와 방향키 만으로 탐색을 하는 것은 아닙니다. 화면 낭독 프로그램은 &#8216;링크만, 헤딩만&#8217; 따로 모아서 탐색할 수 있고 특히 &#8216;링크&#8217; 텍스트를 설명력 있게 제공하는 것도 당연히 좋지만 적절한 &#8216;헤딩&#8217;을 제공하는 것은 더더욱 중요합니다. 헤딩은 콘텐츠 블럭을 건너 뛸 수 있는 단서가 되기 때문이고 시각 장애인에게는 불필요한 콘텐츠를 잘 건너 뛰게 해주는 것이 매우 중요합니다. 시각이 있는 사람들도 자각하지 못하는 사이에 이미 불필요한 콘텐츠를 무시하는 것에 학습되어 있습니다. 눈에 잘 띄도록 만든 배너를 빠르게 무시하는 것은 방법이라기 보다 본능적인 반응에 가깝습니다.&nbsp;헤딩은 콘텐츠 블럭을 우회하는 가장 효과적인 방법 입니다.</p>
<h3 id="h1268411867432">반복되는 콘텐츠 블럭을 우회하는 방법</h3>
<p>콘텐츠와 콘텐츠 사이를 빠르게 건너뛰기 위하여 시각 장애인에게 헤딩(h1, h2, h3, h4, h5, h6) 정보가 중요하다는 사실을 말씀드렸습니다만 사실 오늘의 주제는 &#8216;메뉴 건너 뛰기&#8217; 입니다. 메뉴에 헤딩을 제공하는 사람은 별로 없고 제공해야 한다는 지침도 없으며 오히려 제공했을 때 더 어색하고 불편할 수 있습니다. 따라서 메뉴에는 보통 헤딩이 없습니다. 하지만 한 두 페이지 정도만 탐색해 보면 시각이 있고 없고를 떠나서 누구나 그것이 메뉴라는 것을 알게 됩니다. 같은 패턴의 데이터가 반복 되기 때문입니다.</p>
<p style="text-align: left;" class="img"><img height="236" width="600" src="http://naradesign.net/xe/files/attach/images//373/010/skipNavigation1_1.png" alt="한빛고등학교는 웹 사이트는 모든 페이지에 메뉴 건너 뛰기 링크를 제공하고 있다" class="xe_filesrl_10379" /></p>
<p>이렇게 모든 페이지마다 지속적으로 반복되는 네비게이션들을 키보드 사용자는 어떻게 탐색해야 할까요? Tab키를 계속 누르고만 있어야 할까요? 다 필요해서 있는 것이니 반복 되더라도 계속해서 탐색하고 듣고 있어야 하는 것일까요? 아닐껍니다. 건너 뛸 수 있는 장치를 제공해 주어야 합니다. 이미 위에서 &#8216;WCAG 2.4.1&#8242; 구절을 인용했지만 블럭을 우회할 수 있어야 한다는 지침은 &#8216;수준 A&#8217; 입니다. 수준 A는 최소한 지켜야 하는 수준으로써 가장 중요하다는 의미와 맞닿아 있습니다. 우리는 반복되는 콘텐츠 블럭을 건너 뛸 수 있도록 하기 위하여 &#8216;메뉴 건너 뛰기&#8217; 링크를 제공할 수 있습니다.</p>
<h3 id="h1268412059078">메뉴 건너 뛰기 링크에 관한 쟁점</h3>
<p>메뉴 건너 뛰기 링크를 제공해야 한다는 의견에는 거의 모든 웹 접근성 전문가들이 동의하지만 그것을 제공하는 방법에는 크게 다음과 같은 세 가지 다른 구현 방법이 있습니다.</p>
<ul>
<li>메뉴 건너 뛰기 링크는 시각이 있는 사람도 볼 수 있도록 웹 페이지 최 상단에 항상 노출해야 한다.</li>
<li>메뉴 건너 뛰기 링크는 시각이 있는 사람에게는 방해가 되므로 숨김 처리하고 키보드가 접근할 때에만 노출해야 한다.</li>
<li>메뉴 건너 뛰기 링크는 시각이 있는 사람에게는 방해가 되므로 항상 숨김 처리 해야 한다.</li>
</ul>
<p>여러분은 어떤 의견에 동의 하시나요? 저는 두 번째 방법을 가장 좋은 방법이라고 생각하고 있습니다. 만약 여러분이 &#8216;네이버&#8217; 웹 페이지를 개발한다면 여러분들은 모든 네이버 웹 사이트 최 상단에 &#8216;메뉴 건너 뛰기&#8217; 링크를 넣어야 한다고 생각 하시나요? 저는 그렇게 생각하지 않습니다. &#8216;메뉴 건너 뛰기&#8217; 링크는 시각이 있는 사람에게는 오히려 건너 뛰고 무시해야 할 콘텐츠가 됩니다. 마우스를 조작하는 사람에게 이 링크는 필요치 않으니까요.</p>
<p>그렇다고 해서 항상 숨김 처리 하는 것도 문제가 됩니다. 왜냐하면 시각 장애인만 이 링크를 사용하는 것은 아니기 때문 입니다. 시각은 있지만 손과 발을 자유롭게 사용할 수 없는 지체 장애인은 마우스 스틱이라는 빨대 모양의 막대를 이용해서 키보드만으로 웹을 탐색 합니다. 손과 발이 자유롭지 못하기 때문에 입에 막대를 물고 키보드를 두드립니다.&nbsp;메뉴 건너 뛰기 링크에 접근 했을 때 링크가 화면에 보여야 하는 이유는 이렇게 시각은 있지만 키보드만을 사용할 수 밖에 없는 장애인들에게 유용하기 때문 입다.&nbsp;간혹 TV에서 팔이 없는 지체 장애인이 발로 마우스를 조작하는 모습을 본 기억이 있으실 껍니다. 하지만 발이 있다고 해서 모든 지체 장애인이 발로 마우스를 자유롭게 조작하는 것은 아닙니다.</p>
<h3 id="h1268414146871">키보드 사용자에게만 유용한 메뉴 건너 뛰기 링크</h3>
<p>키보드 사용자에게만 유용한 메뉴 건너 뛰기 링크 예제를 만드는 것은 정말 쉽습니다. 자바스크립트는 필요치 않고 HTML과 CSS만으로 가능합니다. &lt;a&gt; 요소의 width, height, overflow 속성을 조절해서 기본적으로 화면에 보이지 않도록 처리한 다음 a:focus 상태일 때에는 width, height 값이 auto가 되도록 처리하는 것입니다.</p>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="키보드 접근시에만 메뉴 건너 뛰기 링크가 화면에 보이는 예제 - 이 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/navigation/skip/xhtml.html" style="display: block; height: 380px;"></iframe><span>키보드 접근시에만 메뉴 건너 뛰기 링크가 화면에 보이는 예제 &#8211; <a target="_blank" href="http://naradesign.net/ouif/uio/navigation/skip/xhtml.html">이 예제를 새 창으로 보기</a></span></div>
<h3 id="h1268414697637">글로벌 네비게이션을 본문 콘텐츠보다 늦게 마크업 하는 경우</h3>
<p>글로벌 네비게이션을 본문 콘텐츠보다 나중에 마크업 하는 경우도 있습니다. 화면에 보이는 것과 마크업 순서를 다르게 처리 한다고 해서 항상 논리적인 순서가 잘 못 되었다고 말 할 수는 없습니다. 지금 제가 사용하고 있는 <a href="http://naradesign.net/xe/" target="_self">Textyle</a> 블로그와 <a href="http://naradesign.net/wp/" target="_self">WordPress</a> 블로그는 모두 본문 콘텐츠가 먼저 마크업 되고 글로벌 메뉴가 나중에 마크업 되어 있습니다. 이런 경우라면 &#8216;메뉴 건너 뛰기&#8217; 링크보다 &#8216;본문 건너 뛰기&#8217; 링크가 더 적절할 것이고&nbsp;나아가 &#8216;건너 뛰기 링크&#8217;는 생략해도 됩니다. 본문 콘텐츠는 모든 페이지에서 반복되는 내용도 아니고 많은 링크가 포함되어 있지도 않기 때문 입니다.</p>
<h3 id="h1268415232758">지나치게 많은 &#8216;** 건너 뛰기&#8217; 제공은 오히려 공해</h3>
<p>반복되는 블럭을 건너 뛰어야 한다는 지침을 잘 못 이해해서 모든 웹 페이지 상단에 굉장히 많은 &#8216;** 건너 뛰기&#8217; 링크를 제공하는 경우가 있습니다. 이것은 오히려 건너 뛰어야 할 공해 콘텐츠가 됩니다. 건너 뛰어야 할 것은 &#8216;반복되는 블럭&#8217;인데 마치 한 페이지의 &#8216;목차&#8217; 처럼 제공하는 경우가 있다는 것입니다. 건너 뛰기 링크는 보편적인 경우에 &#8216;메뉴 건너 뛰기&#8217; 하나면 충분 합니다. 한편 모든 페이지에서 반복되지는 않지만 상당히 많은 버튼이나 링크가 존재한다면 해당 블럭을 건너 뛸 수 있도록 건너 뛰기 링크를 제공하는 것이 좋습니다.</p>
<p style="text-align: left;" class="img"><img height="31" width="155" src="http://naradesign.net/xe/files/attach/images//373/010/skipNavigation2.png" alt="네이버 뉴스 클러스터링 - 키보드가 접근 할 때 화면에 보이는 메뉴 건너 뛰기 링크" class="xe_filesrl_10384" /></p>
<ul>
<li><a href="http://news.search.naver.com/newscluster/" target="_self">네이버 뉴스 클러스터링</a> &#8211; 키보드가 접근 할 때 화면에 보이는 메뉴 건너 뛰기 링크 하나를 제공하고 있다.</li>
<li><a href="http://naradesign.net/ouif/uio/smartEditorBasic/SEditorDemo.html" target="_self">네이버 스마트에디터 베이직(오픈소스)</a>&nbsp;- 본문에 등장하는 콘텐츠로써 키보드가 접근 할 때 도구 모음을 건너 뛸 수 있는 링크를 제공하고 있다.</li>
<li><a href="http://media.daum.net/" target="_self">미디어 다음</a> &#8211; 화면에 보이지 않는 메뉴 건너 뛰기 링크 하나를 제공하고 있다.</li>
</ul>
<h3 id="h1268416423255">메뉴 건너 뛰기에 관한 더 많은 의견들</h3>
<ul>
<li><a href="http://www.jangkunblog.com/wp/skip-navigation-is-not-a-quick-link/" target="_self">Skip Navigation은 Quick Link가 아닙니다.</a>&nbsp;- 성민장군</li>
<li><a href="http://www.yangkun.pe.kr/post/846" target="_self">KWCAG 2.0 의 Skip Navigation(건너뛰기 링크) &ndash; 본문으로 가면 그만?</a>&nbsp;- 양군팩토리</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/13/1221/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS Tab Navigation + List Item Navigation.</title>
		<link>http://naradesign.net/wp/2010/03/11/1216/</link>
		<comments>http://naradesign.net/wp/2010/03/11/1216/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 12:54:56 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tab Design]]></category>
		<category><![CDATA[웹접근성]]></category>
		<category><![CDATA[웹표준]]></category>
		<category><![CDATA[유니버설디자인]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/11/1216/</guid>
		<description><![CDATA[HTML/CSS와 jQuery를 이용하여 비교적 단순하지만 상당히 빈번하게 사용되는 Tab Navigation을 마크업 했습니다. 선으로 처리된 탭, 면으로 처리된 탭, 최근 게시물을 보여주는 목록 아이템 형태의 탭 디자인 입니다.&#160; Lined Tab Navigation Lined Tab Navigation : 예제를 새 창으로 보기 Faced Tab Navigation Faced Tab Navigation : 예제를 새 창으로 보기 List Item Navigation List Item Navigation [...]]]></description>
			<content:encoded><![CDATA[<p>HTML/CSS와 jQuery를 이용하여 비교적 단순하지만 상당히 빈번하게 사용되는 Tab Navigation을 마크업 했습니다. 선으로 처리된 탭, 면으로 처리된 탭, 최근 게시물을 보여주는 목록 아이템 형태의 탭 디자인 입니다.&nbsp;</p>
<h3 id="h1268310897684">Lined Tab Navigation</h3>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="Lined Tab Navigation : 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/navigation/horizontal/linedTab/xhtml.html" style="display: block; height: 114px;"></iframe><span><a href="http://naradesign.net/ouif/uio/navigation/horizontal/linedTab/xhtml.html" target="_blank">Lined Tab Navigation : 예제를 새 창으로 보기</a></span></div>
<h3 id="h1268311287656">Faced Tab Navigation</h3>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="Faced Tab Navigation : 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/navigation/horizontal/facedTab/xhtml.html" style="display: block; height: 127px;"></iframe><span><a href="http://naradesign.net/ouif/uio/navigation/horizontal/facedTab/xhtml.html" target="_blank">Faced Tab Navigation : 예제를 새 창으로 보기</a></span></div>
<h3 id="h1268311652478">List Item Navigation</h3>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="List Item Navigation : 예제를 새 창으로 보기" src="http://naradesign.net/ouif/uio/navigation/horizontal/listTab/xhtml.html" style="display: block; height: 215px;"></iframe><span><a href="http://naradesign.net/ouif/uio/navigation/horizontal/listTab/xhtml.html" target="_blank">List Item Navigation : 예제를 새 창으로 보기</a></span></div>
<h3 id="h1268311837046">Tab Navigation 예제의 특징</h3>
<ul>
<li>중첩 목록(ul&gt;li&gt;ul&gt;li)을 이용한 탭 네비게이션 예제.</li>
<li>목록의 계층 구조가 논리적으로 마크업 되어 있다.</li>
<li>키보드만으로도 접근이 가능하고 키보드 접근 순서가 논리적으로 처리되어 있다.</li>
<li>jQuery 사용.</li>
</ul>
<p style="padding: 1em; border: 1px dotted rgb(204, 204, 204); background: none repeat scroll 0% 0% rgb(248, 248, 248); text-align: center;">이 밖에 더 많은 예제들이 <a title="Open User Interface Framework" href="http://naradesign.net/ouif/">OUIF</a> 페이지에 링크되어 있습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/11/1216/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>CSS Vertical Navigation Bar.</title>
		<link>http://naradesign.net/wp/2010/03/10/1212/</link>
		<comments>http://naradesign.net/wp/2010/03/10/1212/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 13:15:47 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>
		<category><![CDATA[CSS Navigation Bar]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/10/1212/</guid>
		<description><![CDATA[얼마 전 공유했던 &#8216;CSS Navigation Bar&#8216;는 &#8216;수평+서브메뉴 드롭다운&#8217; 네비게이션 이었는데요. 오늘 공유하는 것은 &#8216;수직+서브메뉴 드롭다운&#8217; 네비게이션 입니다. 수평 메뉴보다 수직 메뉴가 모든 면(HTML/CSS/JS)에서 코드가 더 간결하고 만들기도 쉽네요. 예제를 새 창에서 보기 특징 중첩 목록(ul&#62;li&#62;ul&#62;li) 구조로 마크업 했습니다. 키보드만으로도 조작이 가능하고 키보드의 접근 순서는 논리적으로 처리되어 있습니다. 서브메뉴 토글에 jQuery의 .slideDown() 및 .slideUp() 효과를 사용 [...]]]></description>
			<content:encoded><![CDATA[<p>얼마 전 공유했던 &#8216;<a href="http://naradesign.net/wp/2010/02/11/1185/" target="_self">CSS Navigation Bar</a>&#8216;는 <b>&#8216;수평+서브메뉴 드롭다운&#8217;</b> 네비게이션 이었는데요. 오늘 공유하는 것은 <b>&#8216;수직+서브메뉴 드롭다운&#8217;</b> 네비게이션 입니다. 수평 메뉴보다 수직 메뉴가 모든 면(HTML/CSS/JS)에서 코드가 더 간결하고 만들기도 쉽네요.</p>
<div class="iframe" style="display: block;"><iframe frameborder="0" width="100%" style="display: block; height: 331px;" src="http://naradesign.net/ouif/uio/navigation/vertical/bar/xhtml.html" title="예제를 새 창에서 보기"></iframe><span><a href="http://naradesign.net/ouif/uio/navigation/vertical/bar/xhtml.html" target="_blank">예제를 새 창에서 보기</a></span></div>
<h3 id="h1268225323246">특징</h3>
<ul>
<li>중첩 목록(ul&gt;li&gt;ul&gt;li) 구조로 마크업 했습니다.</li>
<li>키보드만으로도 조작이 가능하고 키보드의 접근 순서는 논리적으로 처리되어 있습니다.</li>
<li>서브메뉴 토글에 jQuery의 .slideDown() 및 .slideUp() 효과를 사용 했습니다.</li>
<li>이미지를 한 번 사용 했습니다.</li>
</ul>
<h3 id="h1268225579696">유의사항</h3>
<p>간혹 이런 수직 메뉴의 서브 메뉴 펼침 동작을 <b>onmouseover</b> 이벤트 헨들러로 처리하는 경우가 있는데요. 그런 경우 사용성이나 접근성이 정말 나빠집니다.&nbsp;</p>
<p>사용성이 나빠지는 이유는 아래쪽에 있는 메뉴를 선택하기 위하여 링크 위를 <b>onmouseover</b> 하는 순간 해당 링크의 서브 메뉴가 펼쳐지는데 이는 보통 원치 않는 동작이기 때문입니다.&nbsp;</p>
<p>접근성이 나빠지는 이유는 마우스와 동등하게 키보드가 접근할 수 있도록 <b>onmouseover</b> 헨들러와 <b>onfocus</b> 헨들러를 병행해서 작성하지 않는 경우 입니다. 이런 경우 키보드가 서브 메뉴를 펼칠 수 없기 때문에 키보드 사용자는 서브 메뉴에 접근할 수 없습니다. <b>onmouseover</b> 헨들러를 사용했다면 반드시 <b>onfocus</b> 헨들러를 병행 작성하여 동등한 기능을 처리할 수 있도록 해야 합니다.</p>
<p>따라서 수직 메뉴를 드롭다운 형태로 열고 닫는 오늘의 예제와 같은 경우&nbsp;<b>onmouseover</b> 이벤트 헨들러 사용은 절대적으로 피하는 것이 좋고 <b>onmouseover</b> 이벤트 헨들러 사용은 보편적인 다른 모든 경우에도 최소화 하는 것이 좋습니다.</p>
<p style="padding: 1em; border: 1px dotted rgb(204, 204, 204); background: none repeat scroll 0% 0% rgb(248, 248, 248); text-align: center;">이 밖에 더 많은 예제들이 <a title="Open User Interface Framework" href="http://naradesign.net/ouif/">OUIF</a> 페이지에 링크되어 있습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/10/1212/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>
