<?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/planning/feed/" rel="self" type="application/rss+xml" />
	<link>http://naradesign.net/wp</link>
	<description>웹표준, 웹접근성, 유니버설디자인, HTML, CSS, UI, UX, UD</description>
	<lastBuildDate>Fri, 12 Mar 2010 18:20:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>메뉴 건너 뛰기 링크(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 class="img" style="text-align: left; "><img width="600" height="236" class="xe_filesrl_10379" alt="한빛고등학교는 웹 사이트는 모든 페이지에 메뉴 건너 뛰기 링크를 제공하고 있다" src="http://naradesign.net/xe/files/attach/images//373/010/skipNavigation1_1.png" /></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 class="iframe" style="display: block; "><iframe frameborder="0" width="100%" style="display: block; height: 380px; " src="http://naradesign.net/ouif/uio/navigation/skip/xhtml.html" title="키보드 접근시에만 메뉴 건너 뛰기 링크가 화면에 보이는 예제 - 이 예제를 새 창으로 보기"></iframe><span>키보드 접근시에만 메뉴 건너 뛰기 링크가 화면에 보이는 예제 &#8211; <a href="http://naradesign.net/ouif/uio/navigation/skip/xhtml.html" target="_blank">이 예제를 새 창으로 보기</a></span></div>
<h3 id="h1268414697637">글로벌 네비게이션을 본문 콘텐츠보다 늦게 마크업 하는 경우</h3>
<p>글로벌 네비게이션을 본문 콘텐츠보다 나중에 마크업 하는 경우도 있습니다. 화면에 보이는 것과 마크업 순서를 다르게 처리 한다고 해서 항상 논리적인 순서가 잘 못 되었다고 말 할 수는 없습니다. 지금 제가 사용하고 있는 <a target="_self" href="http://naradesign.net/xe/">Textyle</a> 블로그와 <a target="_self" href="http://naradesign.net/wp/">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 class="img" style="text-align: left; "><img width="155" height="31" class="xe_filesrl_10384" alt="네이버 뉴스 클러스터링 - 키보드가 접근 할 때 화면에 보이는 메뉴 건너 뛰기 링크" src="http://naradesign.net/xe/files/attach/images//373/010/skipNavigation2.png" /></p>
<ul>
<li><a target="_self" href="http://news.search.naver.com/newscluster/">네이버 뉴스 클러스터링</a> &#8211; 키보드가 접근 할 때 화면에 보이는 메뉴 건너 뛰기 링크 하나를 제공하고 있다.</li>
<li><a target="_self" href="http://naradesign.net/open_content/smart_editor/SEditorDemo.html">네이버 스마트에디터 베이직(오픈소스)</a>&nbsp;- 본문에 등장하는 콘텐츠로써 키보드가 접근 할 때 도구 모음을 건너 뛸 수 있는 링크를 제공하고 있다.</li>
<li><a target="_self" href="http://media.daum.net/">미디어 다음</a> &#8211; 화면에 보이지 않는 메뉴 건너 뛰기 링크 하나를 제공하고 있다.</li>
</ul>
<h3 id="h1268416423255">메뉴 건너 뛰기에 관한 더 많은 의견들</h3>
<ul>
<li><a target="_self" href="http://www.jangkunblog.com/wp/skip-navigation-is-not-a-quick-link/">Skip Navigation은 Quick Link가 아닙니다.</a>&nbsp;- 성민장군</li>
<li><a target="_self" href="http://http://www.yangkun.pe.kr/post/846">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>0</slash:comments>
		</item>
		<item>
		<title>Modal Windowed Login UI.</title>
		<link>http://naradesign.net/wp/2010/03/04/1199/</link>
		<comments>http://naradesign.net/wp/2010/03/04/1199/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:47:40 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XE]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[웹접근성]]></category>
		<category><![CDATA[웹표준]]></category>
		<category><![CDATA[유니버설디자인]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/03/04/1199/</guid>
		<description><![CDATA[오늘은 XE에 사용하려고 모달 윈도우 처리된 로그인 UIO(User Interface Object)를 하나 만들었습니다. jQuery를 이용해서 스크립트도 직접 작성해 봤는데 잘 한건지 한 번 봐주시면 좋겠네요.&#160;
미리 알려드립니다만 저는 주로 인터렉션을 프로토타이핑 해서 보여줄 목적으로 자바스크립트를 작성하기 때문에 제 블로그에서 보여드리는 예제 코드가 모두 XE에 반영되는 것은 아닙니다.

예제를 새 창으로 보기
HTML

&#8216;LOG-IN&#8217; 링크에 accesskey 속성을 사용. &#8216;Alt+L&#8217; 또는 &#8216;Alt+Shift+L&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p>오늘은 XE에 사용하려고 모달 윈도우 처리된 로그인 UIO(User Interface Object)를 하나 만들었습니다. jQuery를 이용해서 스크립트도 직접 작성해 봤는데 잘 한건지 한 번 봐주시면 좋겠네요.&nbsp;</p>
<p>미리 알려드립니다만 저는 주로 인터렉션을 프로토타이핑 해서 보여줄 목적으로 자바스크립트를 작성하기 때문에 제 블로그에서 보여드리는 예제 코드가 모두 XE에 반영되는 것은 아닙니다.</p>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="예제를 새 창으로 열기" src="http://naradesign.net/ouif/uio/login/mw/xhtml.html" style="display: block; height: 336px;"></iframe></div>
<p><a target="_blank" href="http://naradesign.net/ouif/uio/login/mw/xhtml.html">예제를 새 창으로 보기</a></p>
<h3 id="h1267712226002">HTML</h3>
<ul>
<li>&#8216;LOG-IN&#8217; 링크에 accesskey 속성을 사용. &#8216;Alt+L&#8217; 또는 &#8216;Alt+Shift+L&#8217; 키를 사용하면 링크에 직접 접근.</li>
<li>논리적인 키보드 접근 순서. 로그인 레이어를 열거나 닫더라도 포커스는 초기화 되지 않고 문맥에 알맞게 순서를 유지.</li>
</ul>
<h3 id="h1267711812402">CSS</h3>
<ul>
<li>화면 전체를 덮는 반투명 레이어.</li>
<li>로그인 상자를 화면의 정 중앙에 배치.</li>
<li>서밋 버튼을 텍스트로 처리해서 텍스트를 교체할 수 있음.</li>
</ul>
<h3 id="h1267711822626">Javascript</h3>
<ul>
<li>&#8216;LOG-IN&#8217; 링크를 클릭해서 모달 윈도우 처리된 레이어 띄우기.</li>
<li>인풋에 포커스가 들어가거나 빠질 때 &#8216;레이블&#8217; 텍스트를 숨기거나 보여주기.</li>
<li>&#8216;로그인 유지&#8217; 항목에 체크하면 경고문 보여주기.</li>
<li>&#8216;ID/PW&#8217;를 입력하지 않았을 때 상황에 맞는 알럿 띄우기.</li>
<li>&#8216;Open ID&#8217; 링크를 클릭하면 오픈 아이디 화면으로 전환하기.</li>
<li>&#8216;ESC&#8217;키를 누르거나 &#8216;여백&#8217; 또는 &#8216;X&#8217; 버튼을 클릭하면 창 닫기.</li>
</ul>
<h3 id="h1267713492795">P.S.</h3>
<p>저는 얼마 전부터 <a target="_self" href="http://www.textyle.kr/">텍스타일</a>에서 글을 쓰고 있습니다. 여러분이 만약 이 글을 <a target="_self" href="http://naradesign.net/">제 워드프레스</a>에서 보셨다면 배달된 글을 보고 계신 겁니다. 텍스타일에서 작성한 글은 워드프레스, 미투데이, 트위터 등으로 자동으로 배달 된답니다. 번거롭게 퍼다 나르고 다닐 일이 없어서 좋네요. 텍스타일 한 번 사용해 보세요. 즐거운 글쓰기 경험도 해 볼겸 해서 말이죠. ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/03/04/1199/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS Drop Down : Emulate Select/Option.</title>
		<link>http://naradesign.net/wp/2010/02/18/1192/</link>
		<comments>http://naradesign.net/wp/2010/02/18/1192/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:37:28 +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>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/02/18/1192/</guid>
		<description><![CDATA[서식 제어 요소(Form Control Element)를 디자인 하는 것은 상황에 따라 접근성을 떨어뜨리는 경우가 있기 때문에 제한되어야 하고 신중하게 사용해야 합니다. 이미 이전에 포스팅을 했지만 다시 한번 환기하는 차원에서 제한되어야 하는 서식 요소들은 어떤 것들이 있는지 살펴보겠습니다.
&#160;

스타일 변경이 제한된 서식 제어 요소들


HTML Markup
View




input type=&#34;checkbox&#34;




input type=&#34;radio&#34;




input type=&#34;file&#34;




input type=&#34;hidden&#34;
화면 출력 안됨


select, option


       [...]]]></description>
			<content:encoded><![CDATA[<p>서식 제어 요소(Form Control Element)를 디자인 하는 것은 <a href="http://naradesign.net/wp/2008/10/11/159/" target="_self">상황에 따라 접근성을 떨어뜨리는 경우가 있기 때문에 제한되어야</a> 하고 신중하게 사용해야 합니다. 이미 이전에 포스팅을 했지만 다시 한번 환기하는 차원에서 제한되어야 하는 서식 요소들은 어떤 것들이 있는지 살펴보겠습니다.</p>
<p>&nbsp;</p>
<table border="1" style="border-width: 1px 0px 0px 1px; border-top: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204); font-family: AppleGothic,나눔고딕,NanumGothic,'맑은 고딕','Malgun Gothic',돋움,Dotum,굴림,Gulim,sans-serif; font-size: 1em; margin-bottom: 15px;">
<caption style="padding: 0px 0px 0.5em; text-align: left; font-weight: bold;">스타일 변경이 제한된 서식 제어 요소들</caption>
<thead>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="col">HTML Markup</th>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="col">View</th>
</tr>
</thead>
<tbody>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="row">input type=&quot;checkbox&quot;</th>
<td style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top;">
<input type="checkbox" style="font-family: AppleGothic,나눔고딕,NanumGothic,'맑은 고딕','Malgun Gothic',돋움,Dotum,굴림,Gulim,sans-serif; font-size: 1em;" /></td>
</tr>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="row">input type=&quot;radio&quot;</th>
<td style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top;">
<input type="radio" style="font-family: AppleGothic,나눔고딕,NanumGothic,'맑은 고딕','Malgun Gothic',돋움,Dotum,굴림,Gulim,sans-serif; font-size: 1em;" /></td>
</tr>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="row">input type=&quot;file&quot;</th>
<td style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top;">
<input type="file" style="font-family: AppleGothic,나눔고딕,NanumGothic,'맑은 고딕','Malgun Gothic',돋움,Dotum,굴림,Gulim,sans-serif; font-size: 1em;" /></td>
</tr>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="row">input type=&quot;hidden&quot;</th>
<td style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top;">화면 출력 안됨</td>
</tr>
<tr>
<th style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top; background-color: rgb(244, 244, 244);" scope="row">select, option</th>
<td style="border-width: 0px 1px 1px 0px; border-right: 1px solid rgb(204, 204, 204); border-bottom: 1px solid rgb(204, 204, 204); padding: 2px 5px; text-align: left; vertical-align: top;">
<select style="font-family: AppleGothic,나눔고딕,NanumGothic,'맑은 고딕','Malgun Gothic',돋움,Dotum,굴림,Gulim,sans-serif; font-size: 1em;" name="select">
            <option>Option</option></select>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3 id="h1266424559111">서식 제어 요소의 디자인을 제한하는 이유</h3>
<p>이런 서식 제어 요소들의 디자인을 변경하는 것은 일단 브라우저들이 지원하지 않습니다. 이런 이유 때문에 이것을 디자인 하려는 시도는 실제로는 기능하지 않는 가짜 마크업을 남발하게되고 웹 접근성을 떨어뜨리는 요인으로 작용합니다. 하나의 콘트롤을 디자인 하기 위하여 화면에 보이는 마크업과 실제로 기능을 수행하는 마크업을 각각 따로 작성하게 되면 화면낭독기 사용자들은 화면 표시를 위한 가짜 마크업 때문에 곤경에 빠지는 상황이 연출됩니다.</p>
<p>그리고 간혹 단순한 텍스트 링크 기능을 수행함에도 불구하고<br />
<input type="radio" />라디오 버튼을 장식적인 요소로 사용한 다음 라디오 콘트롤에 자바스크립트를 입혀서 페이지 이동을 처리하는 고품격(?) 사용자 경험을 제공하기도 하는데 매우 잘못된 방법중의 하나 입니다.</p>
<p>모든 서식 제어 요소들은 사용자가 &#8216;전송&#8217; 버튼을 누르기 직전까지 아무짓도 하지 않고 기다려야 할 의무가 있습니다. 왜냐하면 그것이 바로 서식 제어 요소들의 올바른 사용법이고 시각 장애인들은 그런 표준화된 그리고 전통적인 사용자 인터렉션에 의지해서 웹을 탐색하고 있기 때문입니다.</p>
<blockquote class="citation">
<p>&quot;라디오 버튼을 눌렀을 뿐인데 페이지가 이동할 줄은 몰랐어요. 저는 전송 버튼을 누르지도 않았거든요.&quot;</p>
</blockquote>
<h3 id="h1266424626801">&lt;select&gt; 콘트롤을 본래 목적에 맞게 사용하기</h3>
<p>한편 서식 제어 요소를 사용할 때 사용자 입력을 전송하는데 쓰지 않았다고 해서 무조건 틀렸다고 말할 수도 없습니다. CSS가 일반적으로 널리 퍼지기 이전에 서식 제어 요소들은 다른 HTML 요소들이 흉내낼 수 없는 효과적인 UI 콘트롤을 제공했기 때문에 그 이점만을 취하기 위한 활용사례가 많았습니다. 현재까지도 흔하게 볼 수 있는 예가 바로 &lt;select&gt; 콘트롤 입니다. 본래의 목적은 단일 또는 다중 선택된 사용자의 선택값을 서버측에 전송하기 위한 목적이었지만 &#8216;패밀리 사이트 바로가기, 유관 기관으로 이동&#8217;과 같이 단순하게 텍스트 링크로 처리해도 될만한 UI에 지금까지도 여전히 &lt;select&gt; 요소를 사용하고 있습니다. 이 때 자바스크립트로 URL 값을 처리해서 넘기는 경우도 있고 서버측 스크립트로 값을 처리해서 넘기는 경우도 있는데 어느편이 더 유니버설한 설계 방법인지는 여러분이 직접 판단해 보시기 바랍니다.</p>
<p>하지만 한 발 더 나아가 저는 더 이상 &lt;select&gt; 콘트롤을 이용하여 페이지 이동하는 기법을 사용할 필요가 없다고 생각합니다. 자바스크립트나 서버측 스크립트를 작성해서 페이지를 이동하는 방법보다 더 쉬운 방법이 있기 때문입니다. CSS 배워서 이런데 써먹을 수 있습니다. &lt;select&gt; 콘트롤은 이제 그만 휴가 보내고 CSS에게 일을 시켜 보세요. &lt;select&gt; 요소의 드롭다운 콘트롤은 고작 &#8216;숨은 링크 목록&#8217;을 토글해서 보이거나 숨기는 인터렉션일 뿐입니다.</p>
<h3 id="h1266425081963">그럼에도 불구하고 &lt;select&gt; 콘트롤이 사랑받는 이유</h3>
<p>요소 본래의 목적에 맞지 않는 마크업과 복잡한 스크립트의 사용을 유발함에도 불구하고 &lt;select&gt; 콘트롤은 여전히 기획자, 디자이너, 개발자에게 사랑받고 있습니다. 왜 그럴까요?</p>
<ul>
<li>좁은 공간을 효과적으로 사용할 수 있기 때문에</li>
<li>클릭하면 숨은 목록을 볼 수 있는 전통적인 인터페이스로써 이미 대중에게 학습되었기 때문에</li>
<li>오랜 세월에 걸쳐 잘 작성된 레거시 코드가 있고 새로 만들 때 복사 후 붙여넣기만 하면 되니까</li>
</ul>
<p>정도로 요약할 수 있겠습니다. 결국 우리는 &lt;select&gt; 라는 콘트롤을 본래의 목적에 맞게 사용하되 &#8216;긴 직사각형의 우측 끝에 화살표가 달린 모양&#8217;만 취하면 되는 겁니다.</p>
<h3 id="h1266425651963">결론 : &lt;select&gt; 형태는 취하고 마크업은 버리자</h3>
<div style="display: block;" class="iframe"><iframe frameborder="0" width="100%" title="" src="http://naradesign.net/ouif/uio/select/xhtml.html" style="display: block; height: 230px;"></iframe></div>
<p><a href="http://naradesign.net/ouif/uio/select/xhtml.html" target="_blank">예제를 새 창에서 보기</a></p>
<p>위의 두 예제는 같은 모양을 하고 있지만 첫 번째 예제는 링크이고 두 번째 예제는 단일 선택을 위한 폼 콘트롤 입니다. 폼 콘트롤 우측에 &#8216;GO&#8217; 버튼이 보이시나요? &#8216;사용자가 폼을 전송하기 전까지는 아무짓도 하지 않아야 한다&#8217;는 원칙을 실천하기 위하여 존재하는 버튼 입니다. &#8216;GO&#8217; 버튼이 없으면 어떻게 되냐구요? 아마도 키보드 사용자는 다른 항목을 선택할 기회를 갖지 못하고 첫 번째 항목을 선택하는 순간 이미 다른 페이지로 이동되어 있거나 또는 전송 버튼을 찾느라 곤경에 빠질 것입니다. 저 &#8216;GO&#8217; 버튼이 있음으로 인해서 마우스를 사용하는 대부분의 사용자들은 불편함을 느낄 수도 있을 것입니다. 하지만 &#8216;누구나 사용&#8217;할 수 있도록 유니버설하게 개선되었기 때문에 &#8216;인류 행복의 총량&#8217;에는 큰 변화가 없을 것입니다.&nbsp;</p>
<p>다행히도 저렇게 단일 선택 옵션이 하나만 존재하는 경우 폼 대신 첫 번째 예제와 같이 링크로 처리할 수 있는 경우가 거의 대부분 입니다. 폼 대신 링크로 처리하게 되면 &#8216;GO&#8217; 버튼이 필요가 없기 때문에 모든 사람들이 더 기뻐할 것입니다. 링크 목록은 클릭하기 전까지 펼침 상태로 존재하고 Enter 키를 받아야만 페이지 이동을 하기 때문에 &#8216;GO&#8217; 버튼이 없어도 키보드만으로 제어를 할 수가 있죠.</p>
<p>위 제시된 예제는 처리해야 할 콘텐츠가 &#8216;링크&#8217; 인지 또는 &#8216;진짜 폼의 선택&#8217;을 위한 것인지 명확하게 이해한 다음 사용해야 합니다. 단순히 링크로 처리해야 할(처리해도 될) 항목을 두 번째 예제로 마크업 한다면 오늘 제 포스팅은 말짱 도루묵 입니다. 부디 의미와 목적에 맞는 마크업을 선택해서 사용해 주실것을 부탁 드립니다. 이번 예제도 <a href="http://mygony.com/" target="_self">행복한고니</a>로부터 도움을 받았습니다. 요즈음은 행복한고니가 짬짬이 알려주는 jQuery 덕분에 아주 즐거운 나날들을 보내고 있답니다. ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/02/18/1192/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>CSS Navigation Bar.</title>
		<link>http://naradesign.net/wp/2010/02/11/1185/</link>
		<comments>http://naradesign.net/wp/2010/02/11/1185/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 15:38:46 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XE]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/2010/02/11/1185/</guid>
		<description><![CDATA[최근 저희 팀에서는 ProjectXE 라는 것을 준비하고 있습니다. 이슈트래커 또는 버그 트래킹 시스템이라고 불리우는 종류의 프로그램이죠. 현재&#160;issuetrackerXE 라는 이름으로 배포되고 있는 모듈의 기능과 디자인을 조금 더 개선시킨 패키지 버전이라고 볼 수 있습니다. 제가 직접 기획도 했으니까 나중에 배포가 시작되면 피드백도 부탁드려야 겠네요.
이번에는 운이 좋게도 디자인팀으로부터 지원을 받았는데요. 이렇게 디자인팀으로부터 지원을 받은 디자인은 품질이 상당히 좋아서 [...]]]></description>
			<content:encoded><![CDATA[<p>최근 저희 팀에서는 ProjectXE 라는 것을 준비하고 있습니다. 이슈트래커 또는 버그 트래킹 시스템이라고 불리우는 종류의 프로그램이죠. 현재&nbsp;<a target="_self" href="http://issuetracker.xpressengine.net/">issuetrackerXE</a> 라는 이름으로 배포되고 있는 모듈의 기능과 디자인을 조금 더 개선시킨 패키지 버전이라고 볼 수 있습니다. 제가 직접 기획도 했으니까 나중에 배포가 시작되면 피드백도 부탁드려야 겠네요.</p>
<p>이번에는 운이 좋게도 디자인팀으로부터 지원을 받았는데요. 이렇게 디자인팀으로부터 지원을 받은 디자인은 품질이 상당히 좋아서 한 번 쓰고 말기에는 정말 아깝더라구요. 재 활용 가치가 있는 UI 콤포넌트는 가끔 처음부터 재 사용을 염두해 두고 설계를 합니다. 물론 시간이 무척 오래 걸리는 단점은 있지만 다른 누군가의 시간을 분명히 단축해 줄꺼라 믿고 있습니다.</p>
<p>오늘 공유해 드릴 UI 콤포넌트는 평범한 네비게이션 바 입니다. 이런 종류의 네비게이션은 너무 흔해서 일년에 열두번도 더 코딩을 하지만 항상 재 사용을 염두하지는 않았기 때문에 할 때마다 새로 만들고 처음부터&nbsp;다르게 코딩 합니다. 물론 디자인이 조금씩 달라지는 것도 이유가 있겠지만 다소 소모적인 부분이 있었던 것도 사실입니다. 보기에 평범해 보이지만 재 사용과 보편적 설계를 위해서 제가 이 네비게이션 바에 얼마나 많은 정성을 쏟았는지 한 번 설명드려 보겠습니다.</p>
<div class="iframe" style="display: block;"><iframe frameborder="0" width="100%" style="display: block; height: 200px;" src="http://naradesign.net/ouif/uio/navigation/horizontal/bar/xhtml.html" title="CSS Navigation Bar. 새 창으로 보기"></iframe><span>CSS Navigation Bar. <a target="_blank" href="http://naradesign.net/ouif/uio/navigation/horizontal/bar/xhtml.html">새 창으로 보기</a></span></div>
<h3 id="h1265811047234">보편적이고 사용성이 좋은</h3>
<p>수평 네비게이션은 보편적인 형태지만 하위 메뉴를 처리하는 방법에는 크게 두 가지 형태가 있습니다. 하위 메뉴를 <a target="_self" href="http://www.president.go.kr/kr/index.php">수평으로 늘어뜨리거나</a> 또는 위 예제와 같이 <a target="_self" href="http://www.whitehouse.gov/">수직으로 늘어뜨리거나</a>. 그런데 이 두 가지 형태의 메뉴 구조는 사용성이 크게 다릅니다. 하위 메뉴를 수직으로 늘어뜨리는 것이 사용성과 확장성이 훨씬 좋습니다.</p>
<p>하위 메뉴를 수평으로 열게 되면 사용자는 정확하게 선택하기 위하여 &#8216;L&#8217;자 모양으로 마우스 포인터를 이동시켜야 합니다. 게다가 하위 메뉴 영역을 벗어날 때 하위 메뉴가 사라지도록 처리하는 경우 사용성은 더 나빠집니다. 원하는 메뉴 링크까지 이동하려면 조심스럽게 마우스 포인터를 옮겨야 하니까요. 하위 메뉴를 수직으로 펼치면 마우스의 이동 괘적은 &#8216;I&#8217;자 모양을 그리게 되고 마우스를 옮기는 과정에서 메뉴가 닫힐 위험은 사라집니다.&nbsp;</p>
<h3 id="h1265811982648">웹 표준과 접근성을 지키는</h3>
<p>이런 메뉴 구조를 테이블 &lt;table&gt; 요소를 사용해서 마크업하면 의미에도 맞지 않고 접근성도 떨어집니다. 네비게이션 요소는 HTML로 표현할 때 &#8216;목록&#8217; 요소 &lt;ul&gt;, &lt;li&gt;로 마크업 해야 합니다. 동등한 수준의 내용이 같은 계층에서 여러번 반복 된다면 &#8216;목록&#8217;입니다. 시각장애인이 사용하는 화면 낭독기는 이런 목록에 대하여 목록의 &#8216;시작, 끝, 단계 그리고 항목의 개수&#8217;를 음성으로 알림으로써 목록에 대한 이해를 돕습니다. 상기 예제에서 &#8216;CSS X&#8217; 버튼을 누르면 네비게이션이 어떤 HTML 구조로 마크업 되어 있는지 확인할 수 있습니다. 이렇게 코딩된 네비게이션 바는 다음과 같은 장점을 갖습니다.</p>
<ul>
<li>상-하위 계층 관계가 논리적으로 처리되어 CSS를 지원하지 않거나 걷어낸 장치(예:모바일)에서도 이해하기 쉽습니다.</li>
<li>모든 항목에 키보드 접근이 가능하고 키보드 접근 순서가 의미있게 처리되어 있습니다.</li>
</ul>
<p>이 네비게이션 바는 키보드만을 사용할 수 밖에 없는 시각장애인과 지체장애인도 사용할 수 있습니다. 키보드만으로 탐색을 시도해 보세요.</p>
<h3 id="h1265813663055">유연하고 확장하기 좋은</h3>
<p>하위 메뉴의 개수가 상당히 많이 늘어나는 상황에서 수평으로 열리는 하위 메뉴는 필연적으로 줄바꿈을 동반하거나 메뉴의 개수를 제한하게 되지만 수직으로 열리는 메뉴는 그럴 필요가 없기 때문에 메뉴 데이터가 가변적인 상황에서 확장성이 더 좋습니다.</p>
<p>메뉴의 전체적인 너비는 레이아웃에 맞게 가변폭으로 조절되고 메뉴 항목의 너비도 메뉴 이름의 길이에 따라 모두 가변폭으로 처리되어 있습니다. 디자인 때문에 글자 개수를 자르거나 제한 할 필요가 없습니다.</p>
<p>네비게이션 바의 색상을 바꾸기 위해 새로 이미지를 컷팅할 필요가 없습니다. CSS 편집을 통해 배경색과 보더 색상만 변경해 주면 끝입니다. 은은하게 처리된 그라디언트 효과는 배경색상 위에 반투명 흰색 그라디언트 PNG 이미지를 덧붙이는 기법으로 처리 했습니다.</p>
<h3 id="h1265813998132">이미 널리 쓰이고 있는</h3>
<p><a target="_self" href="http://jquery.com/">jQuery</a> 자바스크립트 프레임웍을 사용했기 때문에 약간의 자바스크립트 코드를 추가하거나 변형하면 누구나 쉽게 사용할 수 있습니다. 물론 지금 그대로 사용해도 될만큼 이미 스크립트가 잘 처리되어 있습니다. 자바스크립트는 <a target="_self" href="http://mygony.com/">행복한고니</a>에 의해 처리 되었습니다.</p>
<h3 id="h1265815149574">브라우저 호환성</h3>
<p>다음과 같은 브라우저에서 테스트 되었고 호환성이 확보되어 있습니다.</p>
<ul>
<li>Internet Explorer 6</li>
<li>Internet Explorer 7</li>
<li>Internet Explorer 8</li>
<li>Firefox 3</li>
<li>Chrome 4</li>
<li>Safari 4</li>
<li>Opera 10</li>
</ul>
<p>이 네비게이션을 처리하기 위하여 테스트 했던 거의 모든 브라우저들의 버그를 다 만났던것 같습니다. 여러분이 보시기에 HTML 코드에 &#8216;이건 왜 이렇게 마크업을 했지?&#8217; 라고 의문이 든다면 그 부분이 바로 그 흔적 입니다. 특히 IE7 브라우저의 경우 링크 영역(width)을 제대로 렌더링하지 못하는 버그 때문에 상당히 고전을 했는데 결국 방법을 찾지 못하고 자바스크립트의 도움을 받아서 디버깅 했습니다. 코딩하는데 1.5일이 걸렸고 디버깅하는 시간도 1.5일이나 걸렸습니다. 3일동안 쳐다보고 있으니 아주 지겨워 죽겠더라구요.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2010/02/11/1185/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>XE는 사용자 경험을 개선해야 한다.</title>
		<link>http://naradesign.net/wp/2009/12/25/1098/</link>
		<comments>http://naradesign.net/wp/2009/12/25/1098/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 17:45:55 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[XE]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1098</guid>
		<description><![CDATA[이 글에서 제시하는 견해들은 NHN 또는 XE의 공식적인 견해가 아닌 개인적인 의견임을 밝힙니다.
이미 알고있는 분들도 계시겠지만 저는 오픈소스 XE의 UI 개발을 담당하고 있습니다. 모든 오픈소스가 그렇지만 저희 팀원들의 모토 가운데 하나도 &#8216;내가 불편한 것을 바꾸고 내가 쓰고 싶은 도구로 만들자&#8217;입니다. 이런 모토는 팀원들이 스스로 동기를 유발해서 열정적으로 XE를 개선하는데 도움이 됩니다.
그러나 오픈소스팀이라고 해서 주어진 일정이 [...]]]></description>
			<content:encoded><![CDATA[<p style="border: 1px dashed rgb(221, 221, 221); padding: 1em; background: rgb(250, 250, 250) none repeat scroll 0% 0%; text-align: center; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">이 글에서 제시하는 견해들은 NHN 또는 XE의 공식적인 견해가 아닌 개인적인 의견임을 밝힙니다.</p>
<p>이미 알고있는 분들도 계시겠지만 저는 오픈소스 XE의 UI 개발을 담당하고 있습니다. 모든 오픈소스가 그렇지만 저희 팀원들의 모토 가운데 하나도 &#8216;내가 불편한 것을 바꾸고 내가 쓰고 싶은 도구로 만들자&#8217;입니다. 이런 모토는 팀원들이 스스로 동기를 유발해서 열정적으로 XE를 개선하는데 도움이 됩니다.</p>
<p>그러나 오픈소스팀이라고 해서 주어진 일정이 없고 언제나 하고 싶은 일만 골라서 할 수 있는것도 아니기 때문에 즉시 실행으로 옮길 수 있는 일이 아니면 개인적으로 마음 한 켠에 쌓아놓을 뿐입니다. 물론 좋은 아이디어를 공유하지 않고 혼자 쌓아두는 것이 좋은 습관은 아니지만 아이디어를 제시하고 토론하는 과정에서 무척 많은 에너지를 필요로 하고 현재의 일에 몰입하는데 방해가 되기 때문에 자주 그러지 못할 뿐입니다.</p>
<p>제가 오늘 하고 싶은 이야기는 XE의 불편한 사용자 경험에 대한 이야기 입니다. XE는 아직 충분히 좋은 사용자 경험을 갖추지 못했지만 고객들은 그걸 잘 모릅니다. &quot;XE는 어렵다&quot; 또는 &quot;XE를 배워야겠다&quot;라는 말을 들을때마다 정말 미안해서 미칠 지경입니다. XE 사용자가 그렇게 말하는 이유는 사용자가 바보이기 때문이 아니라 XE의 사용자 경험이 좋지 않다는 뜻이고 그 책임의 일부는 저에게도 있기 때문입니다. 사용성이 좋지 않은 소프트웨어를 대할 때 사람들은 <a href="http://dobiho.com/?p=829">제품의 문제라고 생각하지 않고 스스로를 비난하는 경향이 있으며 5명 중 1명 정도만 문제제기를 한다</a>고 합니다.</p>
<p>XE와 같은 설치형 소프트웨어의 사용자층은 크게 둘로 나눌 수 있는데 XE를 설치 운영하는 집단과 XE라는 사실조차 알지 못한채로 그저 가볍게 이용하는 사용자 집단 입니다. XE 공식 웹 사이트에 등록되는 버그 또는 이슈들은 대부분 XE를 설치 운영하는 사용자 집단으로부터 나온 것으로써 XE를 가볍게 사용하는 사람들의 문제는 거의 표면적으로 드러나지 않고 있습니다. 따라서 우리는 스스로 문제를 찾아내서 해결해야 합니다.</p>
<h3>XE 개발자는 UX 전문가가 되어야 한다</h3>
<p>지금까지 그러지 못했다는 것이 아니라 충분하지 않다는 의미 입니다. 설계 과정에서 항상 고려가 되지만 섬세하지 못했거나 우선순위가 낮았고 물려받은 유산들 때문에 미시적으로만 접근하는 측면이 있어왔습니다. 이런 문제를 해결하려면 개발자들이 사용자의 심리상태를 이해해야 하는데 사실상 그것은 거의 불가능에 가깝습니다. 프리젠테이션 젠이라는 책에서는 이런것을 두고 지식인의 저주라는 표현을 씁니다. 이미 너무 많은 것을 알기 때문에 모르는 사람들의 상태를 절대 이해할 수 없다는 것입니다. 사용자경험에 대하여 보다 진지하게 이해하고 연구해야 하며 보다 거시적으로 접근할 필요가 있습니다. XE의 Ajax/Javascript UI 개발을 담당하고 있는 <a href="http://mygony.com/">행복한고니</a>는 항상 웹 개발에 문외한인 와이프를 가상의 사용자로 가정한다고 하는데 이런 방법은 비용대비 효과가 괜찮은 작은 실천 중의 하나라고 생각합니다.</p>
<h3>선택의 폭을 줄이고 만족도를 높여야 한다</h3>
<p>XE의 장점 가운데 하나는 많은 사용자로부터 오는 공통된 불만사항을 빠르게 개선해서 반영한다는 점입니다. 이것은 사용자가 답이라는 <a href="http://zero.textyle.kr/">zero</a>님의 운영 철학 가운데 하나 인데요. 이런 철학 때문에 실제로 사용자들이 상상하는 대부분의 모듈들은 이미 존재하거나 개발자가 마음만 먹으면 쉽게 만들 수 있습니다.</p>
<p>그러나 선택의 폭을 줄여야 한다는 주장은 상황에 따라서 zero님의 운영 철학과 충돌하는 측면도 있습니다. 왜냐하면 사용자들의 공통된 피드백을 모두 반영하다보면 그만큼 사용자들은 더 많은 선택의 기로에 놓이게 되는데 이것은 곧 XE가 복잡해진다는 것을 의미하고 사용자들의 만족도를 떨어뜨리는 방향으로 작용할 가능성이 있습니다. XE 관리자 페이지에는 무수히 많은 인풋과 선택지가 있는데 이런 경향이 사용자 페이지에 그대로 전이되는 경우가 있습니다. 딱히 뭘 더 줄이자는 이야기를 여기서 하기에는 너무 지엽적인 문제이기 때문에 언급하지 않는것이 좋겠습니다.</p>
<p>장사가 잘 되는 유명한 식당에 가보면 한 가지 음식만 제공해서 메뉴판이 아예 없는 경우도 있는데 오히려 사람들은 굉장히 만족스러워 합니다. 만약 그 식당의 음식들을 고스란히 뷔페로 옮겨놓으면 어떻게 될까요? 장담컨데 같은 음식에 대한 만족도는 확연하게 차이가 날 것입니다. 뷔페의 음식들은 모두 충분한 퀄러티를 가지고 있지만 모두 그저 그렇게 보이고 딱히 만족스럽지 않는 이유는 너무 많은 선택지가 제공되면서 모든 음식들이 서로의 비교 대상이 되기 때문입니다. 맛있는 음식을 더 많이 제공하면 만족도가 더 많이 올라갈것 같지만 절대로 그렇지 않습니다. 저는 신 김치를 딱히 좋아하지 않지만 다른 반찬이 제공되지 않는다면 맛있게 먹을수 있습니다. 너무 많은 선택지와 옵션을 제공하지 않아야 하는 이유 입니다.</p>
<h3>인간의 생리와 문맥을 고려해야 한다</h3>
<p>XE는 다른 설치형 소프트웨어들와 다르게 기본적으로 다국어환경을 가정합니다. 따라서 기본으로 제공되는 레이아웃을 사용하게 되면 언어를 변경할 수 있는 메뉴가 항상 따라다니는데 유용한 기능임에도 불구하고 좋지 않은 사용자 경험을 제공하는 경우가 훨씬 더 많습니다.</p>
<p>사용자는 보통 다국어 메뉴를 통해서 현재의 웹 사이트에 대한 모든 표현들이 자신의 언어로 변경되는 것을 기대하지만 XE는 이런 기대를 충족해 주지는 않습니다. 아니 정확히 말해서 XE가 충족해 주지 못하는 것이 아니라 XE를 사용하는 콘텐츠 제작자들이 그렇게 해주지를 못하는 것입니다. 다국어는 기계적으로 번역이 되는것이 아니라 콘텐츠 제작자에 의해서 수작업으로 번역이 되는데 대부분의 제작자는 이 기능을 제대로 사용하지 않습니다. 따라서 보통의 사용자들은 다국어 메뉴를 사용할 때 좌절하게 됩니다. 콘텐츠 제작자가 다국어 지원을 하지 않는 경우 다국어 지원 메뉴는 아예 보이지 않도록 처리해야 하는것이 인간의 생리와 문맥을 고려한 설계인데 이것은 문맥을 고려한 설계에 대한 다양한 문제 가운데 한 가지 예시일 뿐입니다.</p>
<p>또한 다국어환경 지원 문제는 다음과 같은 상황에서 매우 까다롭습니다. &quot;A 카테고리에서 검색된 B 키워드가 C개 입니다&quot; 라는 메시지를 출력한다고 가정할 때 이렇게 작성된 한글을 영어 또는 기타 외국어로 변환할 때 어순이 바뀌어야 하는데 저 문장은 A, B, C 를 포함한 6개의 변수로 작성되어 있고 언어 선택에 따라 어순이 바뀌도록 하는 것은 거의 불가능에 가깝기 때문에 실제로 저런 문장은 XE에서는 사용할 수가 없습니다. 이런 문제에 대해서 딱히 해법을 가진것은 아니지만 고민해 볼 필요는 있겠습니다. 다국어 환경 지원 때문에 인간이 쓰는 자연어를 오히려 사용하지 못하게 되는 것이 모순입니다.</p>
<h3>맺음말</h3>
<p>XE뿐만 아니라 모든 웹 개발자는 사용자 환경을 이해하기 어렵고 적절한 피드백을 받는것도 한계가 있기 때문에 사용자 경험에 대한 연구를 통해 직접 문제를 발견하고 해결해야 합니다. 사용자들은 자신들이 스스로 원하는 것을 모두 안다고 생각하지만 실제로는 그렇지 않으며 이슈트래커에 등록된 문제들은 실제 사용자들이 격는 문제의 20% 밖에 되지 않습니다. 인간의 생리를 이해하고 문맥을 고려한 설계를 통해서 사용자 스스로 자각하지 못했던 문제들에 대한 불편함을 개선해야 합니다. 사용자 경험은 UX 전문가들의 고유한 업무 영역이 아니라는 점도 상기해야 합니다. 모두에게 책임이 있다는 뜻입니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/12/25/1098/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>블랙베리, 나의 스마트폰 선택 기준.</title>
		<link>http://naradesign.net/wp/2009/10/27/1071/</link>
		<comments>http://naradesign.net/wp/2009/10/27/1071/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 20:13:06 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[생활의 발견]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[Smart Phone]]></category>
		<category><![CDATA[T*OMNIA]]></category>
		<category><![CDATA[T*옴니아]]></category>
		<category><![CDATA[블랙베리]]></category>
		<category><![CDATA[스마트폰]]></category>
		<category><![CDATA[아이팟 터치]]></category>
		<category><![CDATA[아이폰]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1071</guid>
		<description><![CDATA[저는 사용자 인터페이스를 다루는 일을 하고 있고 향후 모바일 웹의 사용자 경험을 이해하기 위해 다양한 모바일 기기를 경험해 보고 싶은 욕심이 있습니다. 올 한해 구입한 모바일 기기만 해도 벌써 &#8216;T*옴니아, 아이팟 터치, 블랙베리&#8217; 이렇게 세 종류나 되었습니다. 그렇다고 해서 제가 스마트폰 고급 사용자냐하면 그렇지는 않습니다.
저는

기대하고 예측한대로 작동하지 않는 기능은 두 번 다시 거들떠 보지도 않고
전화기를 [...]]]></description>
			<content:encoded><![CDATA[<p>저는 사용자 인터페이스를 다루는 일을 하고 있고 향후 모바일 웹의 사용자 경험을 이해하기 위해 다양한 모바일 기기를 경험해 보고 싶은 욕심이 있습니다. 올 한해 구입한 모바일 기기만 해도 벌써 &#8216;T*옴니아, 아이팟 터치, 블랙베리&#8217; 이렇게 세 종류나 되었습니다. 그렇다고 해서 제가 스마트폰 고급 사용자냐하면 그렇지는 않습니다.</p>
<p>저는</p>
<ol>
<li>기대하고 예측한대로 작동하지 않는 기능은 두 번 다시 거들떠 보지도 않고</li>
<li>전화기를 PC에 연결한다거나 부가 어플리케이션을 설치하는 것을 굉장히 귀찮아 하고</li>
<li>기기 매뉴얼 따위를 읽어보는 것을 끔찍이도 싫어하는</li>
</ol>
<p>상식적인(?) 사람입니다.</p>
<p>올 한 해동안 사용한 세 종류의 기기는 모두 그 특징이나 호불호가 뚜렷하게 갈리는 제품인데 가장 마지막에 구입한 블랙베리는 아이폰 따위를 잊어도 좋을만큼 제 기대에 충분히 부응하는 그런 스마트폰 이었습니다. oojoo님께서는 <a href="http://oojoo.tistory.com/382">꿩 대신 닭</a>이라는 표현을 쓰시던데 저는 닭 먹어보니 꿩 안먹어도 될 것 같습니다.</p>
<h3>내가 스마트폰을 사용하는 이유.</h3>
<p>제가 스마트폰을 사용하는  이유는 다음과 같습니다.</p>
<ol>
<li>웹을 통해서 읽고 쓰고 사람들과 소통합니다.</li>
<li>인맥과 일정을 관리합니다.</li>
<li>전화를 합니다.</li>
</ol>
<p>다른 분들은 &#8216;음악을 듣는다. 게임기로 쓴다. 네비게이션으로 쓴다.&#8217; 같은 더 많은 이유가 있던데요. 저는 단지 AUX(차량 외부 입력단자)에 연결해서 차 안에서 MP3를 들으면 참 좋겠다는 생각만 가지고 있을 뿐. 이것도 귀찮아서 언제 전화기에 MP3를 옮겨다 놓을지 모르겠습니다. 이쯤 되면 제가 어떤 스타일인지 눈치 채셨겠지요? 단순하고 무식하고 멍청한 스마트폰 사용자 입니다. 저와 비슷한 유형의 소비자들이라면 어떤 기준으로 스마트폰을 선택해야 하는지 약간은 조언을 드릴 수 있을 것 같습니다.</p>
<h3>나의 스마트폰 선택 기준.</h3>
<ol>
<li>웹을 브라우징 할 수 있어야 하고 웹과 무선으로 동기화 되어야 한다.</li>
<li>매뉴얼을 읽지 않은 상태로 조작했을 때 기대한 대로 되어야 한다.</li>
<li>꼭 필요한 어플리케이션은 이미 탑재되어 있어야 한다.</li>
<li>반응 속도와 입력 속도가 빨라야 한다.</li>
</ol>
<h3>웹을 브라우징 할 수 있어야 하고 웹과 무선으로 동기화 되어야 한다.</h3>
<p>WAP은 콘텐츠도 빈약하고 폐쇠적인데다가 시장도 정체되어 있어서 올해를 기점으로 이미 사양길로 접어들었다(<a href="http://www.dt.co.kr/contents.html?article_no=2009102102010531686002">T스토어 접속 웹이 46%로 가장 많음</a>)고 생각 합니다. 저는 올 해 초부터 스마트폰에서&nbsp;풀브라우징을 통해 웹을 사용하기 시작했고 지금은 전화기를 구매할 때 전화를 할 수 있는지 아닌지의 여부보다 <b>&#8216;웹을 사용할 수 있는지 아닌지&#8217;</b>를 더 중요한 선택 기준으로 생각합니다. 하루 중 약 2시간 가까이 모바일 기기로 웹 서핑을 합니다.</p>
<p>스마트폰을 사용하면서 만족했던 기능은  <a href="http://www.google.com/mobile/products/sync.html">구글 싱크</a> 였습니다. 구글 싱크를 한번이라도 제대로 사용해 보신 분이라면 다른 스마트폰을 구입할 때 구글 씽크의 지원을 받을 수 있는지 아닌지의 여부는 매우 중요한 구매 조건이 될 것입니다. &#8216;T*옴니아, 아이팟터치, 아이폰, 블랙베리&#8217;는 모두 구글 씽크가 지원하는 기기 입니다. 전화기를 바꿀 때마다 &#8216;주소록, 일정&#8217; 따위를 옮기기 위하여 &#8216;전화기를 PC와 연결&#8217;하는것은 정말 짜증나는 일입니다. 구글 씽크는 간단하게 무선으로 웹 데이터를 스마트폰과 동기화 시켜 줍니다.</p>
<p>다행히도 올 한해동안 사용한 세 종류의 모바일 기기는 모두 <b>&#8216;웹을 사용하고 동기화 할 수 있어 만족&#8217;</b> 했습니다.</p>
<h3>메뉴얼을 읽지 않은 상태로 조작했을 때 기대한 대로 되어야 한다.</h3>
<p>메뉴얼 없이 조작할 때 기대한 대로 되지 않는다는 것은 복잡한 UI를 잘못 설계했다는 의미 입니다.</p>
<p>이 기준으로 제가 사용했던 기기들을 줄을 세워보면 &#8216;T*옴니아 &gt; 블랙베리 &gt; 아이팟 터치&#8217; 순입니다. T*옴니아는 정말 기능이 많고 조잡하며 예측 불가능한 UI가 많은데 아이팟 터치는 애플 제품이 대부분 그렇듯 매우 단순하고 직관적 입니다. 블랙베리는 단순하지는 않지만 UI를 효과적으로 설계해서 어렵다는 생각이 들지 않습니다. 기대한 대로 찾아가면 거기에 찾는게 있고 기능키도 PC에서 사용하던 것들을 연상해서 눌러보면 예측한 대로 동작해서 착착 감기는 맛이 있다고나 할까요.</p>
<p>이 부분에 대해서는 아이팟 터치를 통한 경험으로 미루어 볼 때 <b>&#8216;아이폰&#8217;</b>과 <b>&#8216;블랙베리&#8217;</b>에게 동등한 점수를 주고 싶지만 평소 PC에 익숙하지 않은 사람이라면 <b>&#8216;아이폰&#8217;</b>을 더 쉽다고 느낄 것입니다.</p>
<h3>꼭 필요한 어플리케이션은 이미 탑재되어 있어야 한다.</h3>
<p>토핑한다는 표현을 쓰죠. 어플리케이션 내려받아서 설치하고 사용하는 것을 즐거워하는 분들이 많은데 저는 그걸 굉장히 귀찮아 하고 약간의 거부감이 있습니다.</p>
<p>사실 이 부분은 어플리케이션 설치 UI와도 밀접하게 관련이 되어 있는데 어플 설치가 쉬우면 재미를 느끼지만 그 과정이 조잡하면 짜증이 납니다. 어플 설치할 때 보통 PC와 연결해야 하는 <b>&#8216;T*옴니아&#8217;</b>는 가장 짜증 스러웠고 <b>&#8216;아이팟 터치&#8217;</b>는 국가별로 제공하는 어플 목록이 달라서 해외 계정과 국내 계정을 오락가락 하려면 PC와 연결해야 하기 때문에 좀 번거롭지만 저 같은 사람에게도 토핑하는 재미를 주었으며 <b>&#8216;블랙베리&#8217;</b>는 한 마디로 토핑할 필요가 거의 없는 &#8216;있을건 있고 없을건 없는&#8217; 폰 입니다. 딱히 대중적이지는 않지만 <b>&#8216;스마트폰 구매자&#8217;</b>가 찾을만한 웬만한 기능은 다 있다는 뜻입니다.</p>
<p><b>&#8216;블랙베리&#8217;</b>에서 제가 가장 감동했던 것은 &#8216;음성인식 콜&#8217; 기능이고 그 다음은 &#8216;메신져(구글톡, MSN, 야후, AIM, ICQ &#8230;)&#8217; 였는데 &#8216;음성인식&#8217; 기능은 음성 녹음 없이 실시간으로 들리는 한국어 음성을 주소록에서 바로 찾아 전화를 걸어주는 기능 입니다. &#8216;우리집&#8217; 이라는 단어를 녹음해야 하는줄 알고 불러봤는데 그냥 바로 전화가 걸려버려서 깜짝 놀랐지요.</p>
<h3>반응 속도와 입력 속도가 빨라야 한다.</h3>
<p>반응 속도를 결정하는 것은 <b>운영체제</b>이고, 입력 속도를 결정하는 것은 <b>입력 인터페이스</b> 입니다.</p>
<p>&#8216;윈도우즈모바일&#8217;은 너무 느린데다가 &#8216;T*옴니아&#8217;의 &#8216;감압식 터치&#8217; 방식은 임계치 이상의 압력을 주어야 하는데 사람의 감각이 그리 정확하지 않기 때문에 정확도가 떨어져서 제게 최악의 경험을 주었습니다. 게다가 <b>&#8216;스타일러스 펜&#8217;</b>은 넣고 빼기가 정말 귀찮고 걸리적 거립니다.&nbsp; T*옴니아는 느리고 불편하고 정확하지 않았던 거죠.</p>
<p>아이팟 터치는 빠르고 &#8216;정전기식 터치&#8217; 방식이라서 민감하게 반응했지만 QWERTY 키보드를 누르는것만큼 빠르고 정확하지는 않았습니다. 입력 지연 시간이 있고 엄지 손가락의 살점을 이용하기 때문에 QWERTY에 비하면 오타율이 높을 수 밖에 없습니다. 그러나 웹 브라우징시 &#8216;줌인/줌아웃&#8217; 할 때 사용하는 &#8216;듀얼 터치&#8217; 방식은 현존하는 방식 가운데 최고라고 생각합니다.</p>
<p>블랙베리는 자체 운영체제를 쓰고 있는데 거의 지연되는 상황이 없고 QWERTY 키보드는 입력 딜레이와 오타율이 적어서 모바일 기기에서 채용했을 때 가장 효과적인 입력방식 이라고 결론을 내렸습니다. 블랙베리의 트랙볼 조작은 화면을 직접 클릭하는 터치 방식보다 포인터 이동에 좀 더 시간이 걸리는 단점이 있지만 경쾌한 조작감을 줍니다.</p>
<h3>결론. 블랙베리, 나의 스마트폰 선택 기준.</h3>
<p>지극히 주관적이고 편향적이겠지만 제가 세운 기준에 따라 스스로 평가하고 내린 결론은 이렇습니다.</p>
<ol>
<li>웹을 브라우징 할 수 있어야 하고 웹과 무선으로 동기화 되어야 한다. = &#8216;T*옴니아, 아이팟 터치, 블랙베리&#8217;</li>
<li>매뉴얼을 읽지 않은 상태로 조작했을 때 기대한 대로 되어야 한다. = &#8216;아이팟 터치, 블랙베리&#8217;</li>
<li>꼭 필요한 어플리케이션은 이미 탑재되어 있어야 한다. = &#8216;블랙베리&#8217;</li>
<li>반응 속도와 입력 속도가 빨라야 한다. = &#8216;블랙베리&#8217;</li>
</ol>
<p>블랙베리의 한글 서체가 너무 마음에 들지 않는다는 분도 많이 계신데 저도 처음에 그렇게 생각 했었지만 지금은 생각이 바뀌었습니다. 서체는 마누라 얼굴 같다는 생각이 듭니다. 시간이 지나면서 못생긴 얼굴은 점점 이뻐 보이고 이쁜 얼굴은 그냥 그렇게 보입니다. 불편한게 아니라 단지 좋은 첫 인상을 주지 못할 뿐이죠. 사용하다 보면 어느 순간부터 아무렇지도 않고 점점 예쁘게 변하는것 같습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/10/27/1071/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>UI 개발자가 탑재 해야할 몇 가지 개념들.</title>
		<link>http://naradesign.net/wp/2009/10/08/1046/</link>
		<comments>http://naradesign.net/wp/2009/10/08/1046/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 17:46:07 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[생활의 발견]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[대화의기술]]></category>
		<category><![CDATA[사용성]]></category>
		<category><![CDATA[상호운용성]]></category>
		<category><![CDATA[웹접근성]]></category>
		<category><![CDATA[웹표준]]></category>
		<category><![CDATA[유니버설디자인]]></category>
		<category><![CDATA[호환성]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1046</guid>
		<description><![CDATA[누구나 가끔은 개념 없다는 이야기를 들으면서 삽니다. 이것은 경험이 풍부한지 아닌지를 떠나서 어떤 분야의 신입으로부터 전문가에 이르기까지 이 소리를 듣지 않고 살기는 아마 평생 힘들지 않을까 생각 합니다. 한 분야에 대한 해박한 식견과 함께 그것을 타인과 나누는 대화의 기술이 함께 어우러지면 더 할 나위 없이 좋겠지만 그렇지 못한 경우가 더 많은것 같고 그 두 가지 [...]]]></description>
			<content:encoded><![CDATA[<p>누구나 가끔은 개념 없다는 이야기를 들으면서 삽니다. 이것은 경험이 풍부한지 아닌지를 떠나서 어떤 분야의 신입으로부터 전문가에 이르기까지 이 소리를 듣지 않고 살기는 아마 평생 힘들지 않을까 생각 합니다. 한 분야에 대한 해박한 식견과 함께 그것을 타인과 나누는 대화의 기술이 함께 어우러지면 더 할 나위 없이 좋겠지만 그렇지 못한 경우가 더 많은것 같고 그 두 가지 가운데 하나가 부족하면 우리는 흔히 개념 없다는 이야기를 합니다. 오늘의 주제는 바로 개념 입니다.</p>
<p>오늘은 웹 전문가들 사이에서 필요로 하는 몇 가지 개념에 대한 이야기를 하려고 합니다. &quot;저 친구는 사람은 좋은데 이 분야에 대한 개념이 좀 없더라구&quot; 이런 소리를 듣지 않으려면 이 분야에서 쓰는 용어에 대한 개념 정도는 탑재를 하는게 좋겠지요. 차라리 &quot;저 친구 네가지는 없는데 이 분야에 대한 개념은 있더라구&quot; 라는 말을 듣는게 더 낫지 않겠습니까?</p>
<ul>
<li>&quot;웹 2.0 서비스 구현을 위한 웹 표준.&quot;</li>
<li>&quot;ActiveX를 사용하면 접근성이 떨어진다.&quot;</li>
<li>&quot;1%를 위한 접근성 때문에 99% 사용자를 위한 사용성을 포기 하라구요?&quot;</li>
<li>&quot;상호 운용성이나 호환성이나 뭐가 달라요?&quot;</li>
<li>&quot;접근성이나 보편적 설계나 결국 같은 말 아닌가요?&quot;</li>
</ul>
<p>이런 개념 없는 대화의 주인공 속에는 저도 포함되어 있습니다. 제 블로그 포스트나 댓글에서도 찾을 수 있구요. 지금도 그다지 개념이 충만한것 같지는 않지만 멀리 떠난 개념 찾아 오늘 한번 떠나 보렵니다. 웹 개발자가 기본적인 소양으로 알아 두어야 할 개념 몇 가지를 소개하려고 하는데 사전적인 정의는 위키백과에서 참고하는 것을 더 권장 드립니다. 제가 소개하는 각 용어들의 개념은 백과 사전에는 없는 다소 주관적인 관점 입니다.</p>
<h3>웹 표준</h3>
<p>W3C는 웹이 상호 운용성(어떤 소프트웨어나 하드웨어에서도 접근 가능한 웹)을 갖는 것을 목표로 하고 있는데 이 때 상호 운용성을 확보할 수 있도록 주요한 수단으로써 제시하고 권고하고 있는 것이 바로 웹 표준 입니다. 여기서 흔히 발생하는 실수는 웹 표준 자체를 목표로 삼는 것입니다. 상호 운용성이라는 목표는 궁극의 가치로써 변하지 않는 것이고 변해서도 안되나 웹 표준이라는 수단은 상황에 따라서 적절히 변형하거나 포기하는등의 방법으로 현실에 임해야 하는데 수단을 목표로 삼게 되면 웹 표준에 고집스럽게 집착하게 됩니다. 단적으로 말해서 웹 표준에 집착하게 되면 정책 결정 과정에서 자칫 현실 감각을 잃고 원래의 목표인 상호 운용성을 포기해 버리는 우스운 상황도 발생하게 됩니다. 저는 웹 표준을 신뢰하고 웹이 표준에 기대는 방법으로 구현되어야 한다고 철썩같이 믿고 실무에 응용하며 지지하는 사람이지만 웹 표준이 현실을 반영하지 못하는 상황에서까지 웹 표준을 물고 늘어지고 싶지는 않습니다. 웹 표준을 이해하되 한계를 알고 표준 자체가 목표가 되어서는 안된다는 생각을 하고 있습니다.</p>
<p>또한 웹 2.0이라는 용어를 웹 표준과 함께 섞어 쓰는 표현은 요 몇해를 통틀어 가장 우스운 표현 가운데 하나라고 생각 합니다. 웹 표준은 웹 2.0 이라는 마케팅 용어가 등장하기 이전부터 이미 존재하는 개념인데 마치 웹 표준이&nbsp; 웹 2.0의 필수 요소이고 기술 스펙이며 트랜드가 된 것처럼 취급하는 문장이 만연 합니다. 웹 2.0 서비스라고 불리우는 웹 사이트들이 상호 운용성을 확보하기 위해 웹 표준에 기대는 경향이 있는 것은 사실이지만 웹 표준이 웹 2.0의 필수 요소도 아니고 웹 2.0 이라는 용어를 기술 스펙 처럼 이해하는 것도 문제라고 생각 합니다. 웹 2.0이 특정 기술 스펙을 요구하고 있다는 식으로 접근하는 것은 잘못된 현상이며 현재의 사회/문화적 측면을 해설하기 위해 창조된 용어로써 이해해야 한다는 겁니다. 좀 더 까칠하게 이야기 하면 웹 2.0 이라는 용어는 마케팅 수단에 불과하다는 생각도 가지고 있습니다.</p>
<h3>웹 접근성</h3>
<p>웹 접근성은 장애인이 웹을 이용할 수 있는 상태 또는 그것을 측정하는 개념 입니다. 하지만 W3C에서 조차도 이 개념을 이렇게 정의해 놓고 비 장애인들의 접근 환경을 아우르는 개념을 WCAG(Web Content Accessibility Guidelines) 지침에 추가로 언급 함으로써 웹 접근성의 개념 자체를 모호하게 만드는데 일조하고 있다고 생각 합니다. 저도 오랜시간 장애인이 아닌 사용자들의 접근환경을 측정할 때 웹 접근성이라는 개념을 사용해서 잘못된 지식을 전파하고 다녔습니다. 비록 그것이 결과적으로 긍정적이었을지는 모르지만 논란을 불러 일으킬 수 있는 표현이었음을 인정하지 않을 수 없습니다.</p>
<p>ActiveX와 같은 부가 애플리케이션이 비록 Microsoft에 종속된 기술로써 상호 운용성이 없을 지언정 접근성이 없다고 단언하는 등 잘못된 표현을 해왔던 것입니다. 웹 접근성은 장애인이 웹에 접근할 수 있는지를 측정하는 개념이기 때문에 장애인이 IE 브라우저를 통해서 ActiveX를 설치 및 실행할 수 있다면 그것은 자체적으로 웹 접근성을 확보한 상태이기 때문에 접근성이 없다는 표현은 틀린 표현 입니다.</p>
<p>비 장애인의 웹 접근에 관한 개념을 설명할 때에는 &#8216;상호 운용성, 호환성, 사용성&#8217; 따위의 개념을 빌어 설명하거나 측정해야 합니다. 앞으로 웹 접근성이라는 개념을 사용할 때에는 그 중심에 &#8216;장애인&#8217;이 포함된 개념인지를 분명히 짚고 넘어가 주시기 바랍니다.</p>
<h3>사용성</h3>
<p>사용성은 효율과 효과를 측정하는 개념 입니다. 흔하게 발생하는 오해는 사용성이 비 장애인들만을 평가 대상으로 하고 있다는 점입니다. 하지만 사용성은 장애인들의  사용 효율과 효과를 측정할 때에도 필요한 개념으로써 사용성 자체는 장애인과 비 장애인을 구분하지 않습니다. 사용성이 비 장애인들의 효율과 효과를 측정하는 개념이라는 오해는 마우스와 같은 특정 입력 장치에만 인터렉션을 의존하도록 만들었습니다.</p>
<p>마우스 클릭 횟수를 줄이고 마우스 휠을 이용해서 탐색하는 방법을 도입함으로써 사용성을 높였다고 말하지만 왜 거기서 장애인과 키보드를 선호하는 고급 사용자는 제외되어야 하나요? 사용성은 그런 개념이 아닙니다. 일단 장애인도 접근할 수 있도록 구현해 놓고 그 안에서 다양한 유형의 사용자 패턴을 모두 고려해야 합니다. 신체 건강한 20~30대 성인 8명쯤 모아놓고 사용성 테스트 진행하면서 얻을 수 있는 결론만으로 웹의 만족도를 10% 증가 시켰다는 이야기는 키보드를 선호하는 사용자들 눈에 그들만의 잔치일 뿐입니다.</p>
<p>사용성 테스트가 뽑아내는 숫자 놀이에 &#8216;모든 사람의 만족&#8217; 이라는 개념이 빠진것은 아닌지 점검해 봐야 한다고 생각 합니다.</p>
<h3>상호 운용성 &amp; 호환성</h3>
<p>상호 운용성과 호환성이라는 용어는 사실 둘 중 어느 것을 선택 하더라도 개념 없다고 표현할 만큼 명백하게 구분되는 개념은 아닙니다. 하지만 한 가지 분명한 것은 상호 운용성은 소프트웨어와 하드웨어를 넘나드는 호환성을 지녔을 때 또는 그런 개념을 측정할 때 사용한다는 것이고 호환성은 특정 소프트웨어 또는 특정 하드웨어 안에서만 제한적으로 호환이 될 때에만 사용한다는 점이 다릅니다. 호환성이 있다고 표현할 수 있는 대표적인 기술은 ActiveX 이고 상호 운용성이 있다고 표현할 수 있는 기술은 HTML 정도가 되겠습니다.</p>
<p>만약 앞으로 이런 용어를 사용한다면 그것이 특정 하드웨어 또는 소프트웨어 안에서만 실행 가능한 것인지 하드웨어와 소프트웨어를 넘나드는 것인지를 분별해서 보다 정확한 용어를 사용해야 할 것입니다.</p>
<h3>유니버설 디자인</h3>
<p>웹 접근성이라는 개념의 중심에 &#8216;장애인&#8217;이 있었다면 유니버설 디자인의 중심에는 &#8216;모든 사람&#8217;이 있다는 점이 다릅니다. 유니버설 디자인은 설계에 있어서 장애인과 비 장애인을 구분하는 것을 금기하고 있으며 모든 사람이 되도록 동일한 방법으로 사용하고 동일한 만족을 얻을 수 있도록 개선하는 것에 초점을 맞추고 있습니다.</p>
<p>웹 접근성이나 사용성은 웹을 측정하는 개념으로써 주로 장애를 제거하거나 개선하기 위하여 사용되는 개념인 반면 유니버설 디자인은 철학 또는 이념으로 이해해야 합니다.</p>
<p>저는 웹 표준, 웹 접근성, 사용성과 같은 각각의 개념들이 모두 모여도 웹을 바르게 구현하는데 한계가 있고 서로 충돌하는 가치도 발생하기 때문에 그 한계를 극복하기 위한 철학으로써 이것이 필요하다고 주장하고 있습니다. 다소 추상적인 개념으로 다가올 수 있으나 유니버설 디자인은 보다 균형잡힌 시각을 길러주고 웹 개발의 궁극의 목표를 잃어버리지 않는데 도움이 될꺼라고 믿습니다.</p>
<h3>대화의 기술</h3>
<p>이런 주제로 결론을 맺는 것은 아직 세상 덜 살아본 저 자신에게 다소 부담스러운 주제이기도 한데요. 3학년이 되니까 선배랍시고 자꾸 2학년 후배들에게 잔소리를 하고 싶어지네요. 전문 분야에 대한 해박한 지식을 가지고도 대화의 기술이 부족해서 종종 트러블 메이커가 되거나 좋지 못한 평판을 받는 후배들을 응원하고 싶은 겁니다. 3학년 선배들도 2학년땐 그랬거든요.</p>
<p>한참 군생활 하던 시절에 소대 하사관이 &quot;너희들 동그라미가 되고 싶은 세모의 마음을 아느냐&quot; 라는 쌩뚱맞은 질문을 해서 참 실없다 하고 웃고 말았는데 그 질문이 살다보니 한 10년도 지나서 이해가 되더라구요. 지금은 모가 나서 잘 움직이지도 못하고 때로는 다른 사람에게 뾰족한 모서리로 상처를 주기도 하지만 동그라미가 되고 싶은 세모의 마음을 가끔씩 헤아려 봐 주세요.</p>
<p>블로그 포스트를 읽거나 미투데이를 사용하다 보면 다양한 분들의 이야기를 듣게 되는데요. 종종 반박의 여지를 남겨두지 않는 강한 표현들과 비난 수준의 비판이 심심치 않게 발견 됩니다. 부정적인 표현은 긍정적인 표현으로 바꾸는 연습도 해보세요. 욕이  고통을 감소시켜 준다는 실험결과도 있다고 하는데요. 욕을 듣는 사람의 입장을 배려하면 공공 장소에서 함부로 배설하지 않는게 에티켓 이겠죠.</p>
<p>대화의 기술은 나의 지식이 완전하지 않고 세상 속에서 타인들과 부대끼며 다듬어 질 필요가 있다는 것을 깨닫는 것으로부터 출발한다고 생각 합니다. 전문분야의 해박한 지식과 함께 네가지를 갖춘 UI 개발자가 되었으면 좋겠습니다. 일단 저부터 좀 되구요.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/10/08/1046/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>유니버설 디자인을 위한 실전 UI(HTML/CSS)개발 가이드.</title>
		<link>http://naradesign.net/wp/2009/09/07/1040/</link>
		<comments>http://naradesign.net/wp/2009/09/07/1040/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 15:43: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[웹 표준]]></category>
		<category><![CDATA[자바스크립트]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1040</guid>
		<description><![CDATA[올해 하반기에 해야 할 일들이 많이 쌓여 있었습니다. 강의, 책, XE(오픈UI프로젝트)에서 사용해야 할 &#8216;교재, 콘텐츠, 가이드&#8217;를 만들어야 했는데 따로 따로 준비 하자니 너무 소모적인 일들이라 벌어진 일들을 한 번에 일망타진할 수 있는 묘안이 필요했고 제 결단은 &#8216;세 가지 일을 한 번에 해치우기&#8217; 였습니다. &#8216;토, 일&#8217; 모두 사무실로 출근하면서 후배들이 궁금해 할만한 질문들을 추린 다음 스스로 [...]]]></description>
			<content:encoded><![CDATA[<p>올해 하반기에 해야 할 일들이 많이 쌓여 있었습니다. 강의, 책, XE(<a href="http://www.xpressengine.com/openUI">오픈UI프로젝트</a>)에서 사용해야 할 &#8216;교재, 콘텐츠, 가이드&#8217;를 만들어야 했는데 따로 따로 준비 하자니 너무 소모적인 일들이라 벌어진 일들을 한 번에 일망타진할 수 있는 묘안이 필요했고 제 결단은 &#8216;세 가지 일을 한 번에 해치우기&#8217; 였습니다. &#8216;토, 일&#8217; 모두 사무실로 출근하면서 후배들이 궁금해 할만한 질문들을 추린 다음 스스로 답변을 달기 시작 했는데 오늘 문서를 완성(?) 했습니다.  여러 문서들을 참조 했지만 주관적인 의견이 포함된 내용도 있어서 &#8216;정답&#8217;이라고 할 수는 없습니다. 하지만 UI 개발자들이 한 번 쯤은 고민했던(또는 해야 할) 주제들의 FAQ 목록 입니다. 저와 다른 의견을 가지고 계시거나 또는 제가 다루지 않았던 주제들에 관한 질문을 환영 합니다. 여러분의 댓글이 아마도 이 문서를 보완하는데 크게 도움이 될 것 같습니다.</p>
<ol>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section1">문서형(DTD)을 꼭 선언해야 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section2">문서형(DTD)의 종류가 많던데 권장하는 것은 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section3">XHTML의 문법은 HTML과 비교해서 무엇이 다른가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section4">HTML과 XHTML 가운데 어떤  문서형(DTD)을 사용하는 것이 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section5">문자셋(charset)으로 UTF-8을 권장하는 이유는 무엇인가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section6">휴먼 랭귀지(human language)가 무엇인가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section7">문서의 제목 &lt;title&gt;&#8230;&lt;/title&gt;을 어떻게 작성하는것이 가장 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section8">의미론적 마크업(semantic markup)이란 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section9">제목 요소 &lt;hx&gt;&#8230;&lt;/hx&gt;는 어떻게 작성하는 것이 가장 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section10">의미론적 마크업을 잘 하는 방법이 있을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section11">논리적인 순서란 어떤 것입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section12">논리적 마크업을 위해서 화면 배치를 위한 &lt;table&gt;&#8230;&lt;/table&gt;을 사용하지 않기로 했습니다. 이제 무엇으로 마크업 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section13">논리적인 마크업 예제를 한번 볼 수 있을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section14">컬럼 구조 레이아웃을 위한 CSS 기법이 궁금합니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section15">&#8216;id/class&#8217; 선택자 사용 기준은 무엇이고 어떻게 네이밍 하는것이 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section16">이미지 대체 텍스트 속성 alt=&quot;*&quot; 어떻게 작성하는 것이 가장 좋은가요? title=&quot;*&quot; 속성과는 어떻게 다르죠?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section17">이미지에 포함된 텍스트의 양이 너무 많습니다. 어떻게 처리하죠?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section18">모두가 이용할 수 있는 longdesc 텍스트를 제공하고 싶습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section19">웹 브라우저 호환성을 유지하기 위한 CSS 기법은 무엇이 있나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section20">IR(Image Replacement) 기법이란 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section21">Image Sprite 기법이란 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section22">동영상 대체 콘텐츠는 무엇이고 어떻게 처리해야 합니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section23">프레임셋 &lt;frameset&gt;&#8230;&lt;/frameset&gt;의 문제는 무엇인가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section24">프레임셋 &lt;frameset&gt;&#8230;&lt;/frameset&gt;을 사용한다면 무엇을 주의해야 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section25">서버와 데이터를 주고 받기 위해 내용 없는  빈 &lt;iframe&gt;&#8230;&lt;/iframe&gt;을 사용하고 있습니다. 이런 빈 프레임에도 title=&quot;*&quot; 속성을 이용해서 설명해야 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section26">모든 기능을 키보드로 이용할 수 있도록 하려면 무엇을 주의해야 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section27">onclick과 onkeypress, onkeydown, onkeyup 이벤트 헨들러를 함께 사용하면 안되는 이유가 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section28">&lt;a&gt;&#8230;&lt;/a&gt; 요소를 마크업 할 때  href 속성의 값으로 &quot;#&quot;을 사용하면 안되나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section29">&lt;button type=&quot;button&quot;&gt;&#8230;&lt;/button&gt; 요소의 의미와 사용법을 알려주세요.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section30">&lt;button type=&quot;button&quot;&gt;&#8230;&lt;/button&gt; 요소의 디자인을 CSS로 제어할 수 없나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section31">CSS 기반의 가변폭 텍스트 버튼을 만들고 싶습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section32">키보드의 논리적인 접근 순서를 위해 tabindex=&quot;*&quot; 속성을 사용해도 될까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section33">건너뛰기 링크는 어떻게 구현하는 것이 가장 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section34">자바스크립트를 이용한 팝업 띄우기는 무엇이 문제인가요? 어떻게 하면 되죠?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section35">데이터 테이블 &lt;table&gt;&#8230;&lt;/table&gt;을 의미있고 논리적으로 작성하는 방법은 무엇인가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section36">탭 메뉴 형태의 네비게이션은 무엇으로 어떻게 마크업 해야 합니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section37">&lt;label&gt;&#8230;&lt;/label&gt; 요소는 어떻게 사용하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section38">플래시 &lt;object&gt;&#8230;&lt;/object&gt; 네비게이션의 문제는 무엇인가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section39">겸손한 자바스크립트(Unobtrusive JavaScript)란 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section40">Ajax의 접근성 문제는 무엇입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section41">시각 장애인을 위하여 CSS { display:none } 처리된 콘텐츠를 제공하는 것이 왜 나쁜가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section42">CSS Framework이란 무엇 입니까?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section43">드림위버와 같은 위지윅(WYSIWYG) 도구는 웹 표준이나 접근성을 지원 하나요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section44">드림위버는 너무 무거운 프로그램 아닌가요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section45">CSS 파일을 부를 때 &lt;link /&gt;와 @import의 차이는 뭔가요? 어떤 방법이 더 좋죠?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section46">인쇄용 CSS를 어떻게 작성하는 것이 좋을까요?</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section47">IE 6 브라우저는 #id.class 다중 선택자 조합을 지원하지 않습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section48">IE 6 브라우저는 .class.class 다중 선택자 조합 일부를 지원하지 않습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section49">IE 6 브라우저는 float 처리된 요소의 margin을 두 배로 처리하는 버그가 있습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section50">IE 6~7 브라우저는 float된 요소의 문자를 복사하는 버그가 있습니다.</a></li>
<li><a href="http://naradesign.net/open_content/lecture/wp/#section51">IE 6~7 브라우저는 float된 요소 주변에 등장하는 absolute 요소를 표시하지 않는 버그가 있습니다.</a></li>
</ol>
<p>허걱 벌써 다 보셨나요? 저는 몇일 걸렸는데. ㅡㅡ;</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/09/07/1040/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>XE 텍스타일(Textyle)의 치명적인 &#8216;3가지&#8217; 장점.</title>
		<link>http://naradesign.net/wp/2009/07/29/1008/</link>
		<comments>http://naradesign.net/wp/2009/07/29/1008/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:09:46 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[XE]]></category>
		<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[textyle]]></category>
		<category><![CDATA[XpressEngine]]></category>
		<category><![CDATA[텍스타일]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=1008</guid>
		<description><![CDATA[

안녕하세요? NHN 오픈UI기술팀에서 텍스타일 UI 개발에 참여했던 정찬명 입니다. 오늘 포스팅은 제가 UI 개발자라는 옷을 벗고 순수하게(물론 절대로 그럴 수 없다는 것을 알아요) 블로거의 한 사람으로써 여러분들께 텍스타일이라는 설치형 블로깅 도구를 소개해 드리는 자리 입니다. 모르긴 해도 아직까지는 텍스타일을 이용해서 진지한 글을 가장 많이 작성한 사람중의 한 사람이 되었습니다. 텍스타일은&#160;이미 다양한 블로깅 도구를 이용하고 있는 [...]]]></description>
			<content:encoded><![CDATA[<div class="document_5370_4 xe_content">
<div class="eArea xe_content xe_dr_txt">
<p>안녕하세요? NHN 오픈UI기술팀에서 텍스타일 UI 개발에 참여했던 정찬명 입니다. 오늘 포스팅은 제가 UI 개발자라는 옷을 벗고 순수하게(물론 절대로 그럴 수 없다는 것을 알아요) 블로거의 한 사람으로써 여러분들께 텍스타일이라는 설치형 블로깅 도구를 소개해 드리는 자리 입니다. 모르긴 해도 아직까지는 텍스타일을 이용해서 진지한 글을 가장 많이 작성한 사람중의 한 사람이 되었습니다. 텍스타일은&nbsp;이미 다양한 블로깅 도구를 이용하고 있는 여러분께도 유용할 것이라고 확신 합니다.</p>
</div>
<div class="eArea xe_content xe_dr_hx">
<h3 id="h1248861876595">첫째, 단락 에디터는 검색 엔진과 친합니다.</h3>
</div>
<div class="eArea xe_content xe_dr_txt">
<p>텍스타일 &#8216;단락 에디터&#8217;를 사용하면 검색엔진으로부터 더 높은 점수를 받을 확률이 높아집니다. 그 이유는 글쓰기에 익숙한 사람들이 즐겨쓰는 &#8216;소제목&#8217; 작성 기능 때문인데요. 글쓰기에 잔뼈가 굵은 사람들은 하나의 글을 작성할때 &#8216;소제목&#8217;을 즐겨 사용합니다. 하지만 기존의 문서들중 상당수는 &#8216;소제목&#8217;을 단지 &#8216;크고 굵은 글꼴&#8217;로만 표현했기 때문에 &#8216;검색엔진&#8217;과 같은 로봇이 이것을 &#8216;중요한 키워드&#8217;로 인식하지 못했습니다. 텍스타일 단락 에디터의 &#8216;소제목&#8217; 기능을 사용하게 되면 이 문서는 해당 제목을 의미있는 제목 태그 &lt;hx&gt;&#8230;&lt;/hx&gt; 으로 마크업 하기 때문에 검색엔진이 더 높은 가중치를 부여할 수 밖에 없게 됩니다. 글 쓰기 환경에서&nbsp;일반적인 문장과 소제목을 의미있게 분리해서 소제목의&nbsp;사용을 유도하는 것은 사용자의&nbsp;훑어읽기 습성을 고려한 효과적인 글쓰기&nbsp;전략이며 검색엔진 최적화에도 유리하게 작용할 것입니다.</p>
</div>
<div class="eArea xe_content xe_dr_hx">
<h3 id="h1248862884246">둘째, 원하는 서비스로 글을 자동 발송 합니다.</h3>
</div>
<div class="eArea xe_content xe_dr_txt">
<p>웹에서 글쓰기에 익숙한 사람들은 보통 하나 이상의 서비스 계정을 통해서 자신의 생각을 세상과 공유 합니다. 하지만 여러개의 서비스를 사용하는 사람들은 하나의 글을 여러 서비스에 동시에 공유하고자 할 때 해당 서비스에 일일이 방문하여 &#8216;사이트 접속-로그인-새글 작성&#8217; 하는 과정을 반복 수행해야 합니다. 텍스타일은 이런 비 효율적인 콘텐츠 생산 방식을 획기적으로 바꿔 놓았습니다. 텍스타일에서 작성한 글은 웹 서비스 업체가 제공하는&nbsp;API와 Blog API를 이용하여 &#8216;미투데이, 트위터, 워드프레스, 텍스트큐브, 티스토리, 이글루스&#8230;&#8217; 계정으로 즉각 전송이 가능 합니다. (조만간 네이버 블로그로도 전송 가능) 더 이상 한 번 작성한 글을 복사해서 옮기는 일에 시간을 소비할 필요가 없어졌습니다. 오늘 작성한 이 포스트 또한 &#8216;텍스타일&#8217;에서 작성 되었으나 독자 여러분들은 제가 운영중인&nbsp;&#8217;워드프레스, 텍스타일, 미투데이, 트위터&#8217; 등 다양한 경로를 통해서 접근하게 될 것입니다. 따라서 지금&nbsp;워드프레스를 사용하고 있다면 그것을 포기하지 말고 계속해서 운영하시기 바랍니다. 텍스타일을 오늘 당장 설치해서 사용하더라도 여러분의 독자는 꾸준히 여러분의 워드프레스&nbsp;포스트를 구독할 수 있습니다. 오히려 다양한 서비스로 콘텐츠가&nbsp;자동 배포 되기 때문에 더 많은 독자가 여러분의 팬이 될 것입니다.</p>
</div>
<div class="eArea xe_content xe_dr_hx">
<h3 id="h1248862058493">셋째, 텍스타일은 나누어 줄 수 있습니다.</h3>
</div>
<div class="eArea xe_content xe_dr_txt">
<p>&#8216;조직 구성원들과 함께 쓰고 싶은데 뭔가&nbsp;좋은 툴이 없을까요?&#8217;, &#8216;팀 블로깅을 하려는데 팀원들의 개인&nbsp;블로그와 팀 블로그를 유기적으로 엮어 놓을 수는 없을까요?&#8217; 라는 욕구는 오래전부터 존재해 왔습니다. 텍스타일은 기본적으로 &#8216;분양&#8217; 기능이 포함되어 있기 때문에 한번 설치하면 &#8216;수천 수만&#8217;명에게라도 분양해 줄 수 있습니다. 물론 분양받는 사람들은 텍스타일을 다시&nbsp;설치할 필요가 없고 단지 &#8216;웹 서비스&#8217;를 이용하는 것처럼 계정을 발급 받는 것만으로도 간단하게 블로그가 생성 됩니다. 텍스타일 블로깅&nbsp;도구는 더이상 혼자쓰는 &#8216;도구&#8217;가 아니라 &#8216;커뮤니티&#8217; 기능을 지원하는 소셜 네트웍 도구로 거듭 났습니다. 개인은 &#8216;텍스타일&#8217;을 분양 받아서 &#8216;팀 블로그&#8217;에 자신의 글을 선택적으로&nbsp;쉽게 공유하고 더 나아가&nbsp;조직 구성원들은 개개인의 글들을 &#8216;광장&#8217;에서 만나게 됩니다. &#8216;광장&#8217;은 아직 공개되지 않았지만 &#8216;분양된 텍스타일들의 피드를 한곳에 모아서 웹 페이지로&nbsp;보여주는&#8217; 역할을 하게 됩니다. 텍스타일은 혼자 쓰기에는 너무나 아까운 도구 입니다.</p>
</div>
<div class="eArea xe_content xe_dr_hx">
<h3 id="h1248865168582">밑져야 본전, 경험해 보세요!</h3>
</div>
<div class="eArea xe_content xe_dr_link">
<ul>
<li><a href="http://www.xpressengine.com/aboutTextyle">XE 텍스타일 소개</a> &#8211; 텍스타일을 직접 기획했던 기획자의 출연 동영상을 통해 짧은 시간에 텍스타일의 궁금증을 해소해 드립니다.</li>
<li><a href="http://xe.xpressengine.net/?mid=issuetracker&amp;act=dispIssuetrackerDownload&amp;package_srl=17189941">XE 1.2.4 내려받기</a> &#8211; 텍스타일을 설치 및 분양 하려면 우선 &#8216;XE 1.2.4&#8242; 버전이 설치되어 있어야 합니다. &#8216;xe.1.2.4.zip&#8217; 파일을 내려 받아 설치 합니다.</li>
<li><a href="http://textyle.xpressengine.net/?mid=issuetracker&amp;act=dispIssuetrackerDownload">&#8216;텍스타일&#8217; 내려받기</a> &#8211; XE 설치가 끝나면 텍스타일 모듈 &#8216;textyle_module.zip&#8217; 파일을 내려받은 후 정해진 디렉토리에 업로드 합니다.</li>
<li><a href="http://textyle.xpressengine.net/?mid=wiki&amp;act=dispWikiTreeIndex">텍스타일 사용자 도움말</a> &#8211; 텍스타일 개발에 참여했던 기획자와 개발자들이 텍스타일 사용 전반에 관한 도움말을 작성해 두었습니다.</li>
<li><a href="http://xeui.textyle.kr/">XE UI Lab.</a> &#8211; XE, Textyle의 UI 개발 관련 포스트들이 수록되어 있습니다. 텍스타일 스킨을 직접 꾸미려는 분들에게 길잡이가 될 것입니다.</li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/07/29/1008/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>모두가 행복해지는 유니버설 디자인.</title>
		<link>http://naradesign.net/wp/2009/07/06/984/</link>
		<comments>http://naradesign.net/wp/2009/07/06/984/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 14:29:03 +0000</pubDate>
		<dc:creator>정찬명</dc:creator>
				<category><![CDATA[웹 기획]]></category>
		<category><![CDATA[웹 디자인]]></category>
		<category><![CDATA[웹 접근성]]></category>
		<category><![CDATA[웹 표준]]></category>
		<category><![CDATA[웹접근성]]></category>
		<category><![CDATA[웹표준]]></category>
		<category><![CDATA[유니버설디자인]]></category>

		<guid isPermaLink="false">http://naradesign.net/wp/?p=984</guid>
		<description><![CDATA[NHN CMD 본부 구성원들이 직접 만들고 공유하는 지식공유 파티가 열렸습니다. 저는 &#8216;모두가 행복해지는 유니버설 디자인&#8217;이라는 주제로 발표를 했습니다.

&#8216;세상에는 차별이 존재하고 우리들은 그런 사람들을 위해서 특별한 배려를 해왔지만 배려의 방법은 성숙하지 못했다. 다양한 지침들이 존재하지만 지침을 준수하는 것만으로는 여전히 풀리지 않는 문제 상황들을 만나기 때문에 그것을 해결해야 하는게 우리들의 과제다. 특별한 장애 유형을 위한 특별한 배려를 [...]]]></description>
			<content:encoded><![CDATA[<p>NHN CMD 본부 구성원들이 직접 만들고 공유하는 지식공유 파티가 열렸습니다. 저는 &#8216;모두가 행복해지는 유니버설 디자인&#8217;이라는 주제로 발표를 했습니다.</p>
<blockquote>
<p>&#8216;세상에는 차별이 존재하고 우리들은 그런 사람들을 위해서 특별한 배려를 해왔지만 배려의 방법은 성숙하지 못했다. 다양한 지침들이 존재하지만 지침을 준수하는 것만으로는 여전히 풀리지 않는 문제 상황들을 만나기 때문에 그것을 해결해야 하는게 우리들의 과제다. 특별한 장애 유형을 위한 특별한 배려를 하지 말자. 장애를 구분하지 말고 은폐해야 한다. 이것이 유니버설 디자인의 철학이자 방법론이다.&#8217;</p>
</blockquote>
<p>라는 메시지를 전달하려고 했었습니다. 여유있는 상황에서 작성한 것이 아니라(핑계) 정리가 좀 덜 된 느낌이고 이야기 전개가 매끄럽지도 못한것 같아서 보여드리기가 좀 부끄럽지만 혹시나 한 분이라도 잘 봐주시면 좋을것 같아서 공유하려고 합니다. 슬라이드 장수가 150여장 정도로 많지만 글자는 많지 않아서 약 15분 정도면 보실 수 있을것 같습니다. <a href="http://docs.google.com/present/view?id=dd9gps8g_274dwjnm5dn">프리젠테이션 버전</a>, <a href="http://naradesign.net/open_content/document/UniversalDesign090706.pdf">PDF 버전</a>, <a href="http://naradesign.net/open_content/document/UniversalDesign090706.txt">TXT 버전</a>. </p>
<p style="border: 1px dashed rgb(221, 221, 221); padding: 1em; background: rgb(250, 250, 250) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;">PC에 과부하를 주는 문제가 있어 본문에 삽입했던 프리젠테이션을 제거 했습니다. <a title="모두가 행복해지는 유니버설 디자인" href="http://docs.google.com/present/view?id=dd9gps8g_274dwjnm5dn">프리젠테이션 버전</a> 링크를 이용해 주세요. 감사합니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://naradesign.net/wp/2009/07/06/984/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
	</channel>
</rss>
