컴퓨터를 이용하는 대다수의 사람들은 웹 브라우저에 대해서 제대로 이해하고 있지 못하는 경우가 많다. 윈도우에서는 파란색 지구 아이콘이 곧 인터넷이라고 인지할 뿐이고, 맥에서는 나침반 아이콘을 인터넷이라고 여긴다. 사용자들에겐 지금 이 순간 인터넷을 이용할 수 있는 것이 중요한 사실일 뿐. 그것이 웹 브라우저라는 프로그램이고, 내가 지금 사용하고 있는 것 이외의 다른 것이 또 존재해서 선택에 대한 고민을 해야 한다는 것에 스트레스를 받을지도 모른다.
구글은 그런 사용자들을 가르치고 싶었나보다. 그들은 What Browser? 라는 사이트를 만들어 놓고, 웹 브라우저의 역사와 자바스크립트가 얼마나 많이 발전했는지, 지금 사용하고 있는 당신의 브라우저의 성능은 어느정도인지. 당신이 사용하고 있는 브라우저 외에 설치할 수 있는 브라우저는 무엇 무엇이 있는지, 새로운 브라우저에서 홈페이지를 변경하는 것, 기본 브라우저를 변경하는 것 등을 꼼꼼하게 설명하고 있다.
만약 당신이 맥에서 파이어폭스를 사용하고 있다면, WhatBrowser.org는 Try a New Browser를 통해서 오페라, 파이어폭스, 사파리를 새로 설치할 수 있다고 보여줄 것이고, 윈도우에서 인터넷 익스플로어를 사용하고 있다면 오페라, 구글 크롬, 파이어폭스, 인터넷 익스플로어, 사파리를 보여줄 것이다.
그리고 A few useful tweaks에서 각 브라우저별로 다른 홈페이지 설정, 검색엔진 변경, 기본 브라우저 설정에 대한 가이드를 아주 친절하게 보여줄 것이다.
2009년 10월 6일 화요일
2009년 4월 9일 목요일
웹 접근성을 위한 웹 개발자 3가지 수칙
사실 이번 발표를 위해서 나름 준비를 열심히 했는데 막상 너무 큰 자리에 서다 보니 반쯤 얼어서 제대로 전달하려고 했던 내용의 반도 전달해 드리지 못한 것 같아 혼자 많이 속상해 했었습니다. 단상에서 내려오고 나니 빠뜨린 내용이 적지 않더군요. 그래서 발표용으로 작성했던 메모를 정리해서 이렇게 글로써 다시 '발표'를 하려고 합니다.
웹 개발자가 알아야할 웹 접근성이라는 주제를 받고, 한참을 고민했습니다. 지난 몇년간 있어온 여러번의 세미나를 통해서 몇번이고 반복되었던 내용들의 반복이 되고 싶지는 않았습니다.(결국은 그렇게 되었지만) 그래서 나름 고민을 거듭해서 3가지 수칙을 정하고, 그에 따라 내용을 붙여 보게 되었습니다. 첫번째 수칙은 ‘항상 공부하라’입니다. 우리가 필요로 하는 정보들이 어디에 있고, 어떻게 찾아 보면 좋을지를 알려드립니다. 두번째 수칙은 ‘습관을 버려라’입니다. 과거로부터 이어진 좋지 않은 개발 관행의 4가지 사례를 살펴보도록 하겠고, 세번째 수칙 ‘사람을 믿고, 기계를 의심하라’에서는 함께 일 하는 동료들과 에디터, 시스템 등 작업 환경에 대한 이야기를 하고자 합니다.
다음은 순서입니다:
- 수칙 1. 항상 공부하라
- 1.1 웹 표준 기술을 제대로 알고, 가까운 곳에 스펙을 둬라
- 1.2 새로운 정보와 이슈를 놓치지 말라
- 수칙 2. 습관을 버려라
- 수칙 3. 사람을 믿고, 기계를 의심하라
- 3.1 동료를 믿어라
- 3.2 기계를 의심하라
수칙 1. 항상 공부하라
1.1 웹 표준 기술을 제대로 알고, 가까운 곳에 스펙을 둬라
제가 생각할 때 웹 개발자에게 있어서 웹 접근성 향상을 위해서 가장 중요한 것은 웹 표준 기술을 가장 잘 이해하고 사용하는 것입니다. 따라서 첫번째 수칙으로 ‘항상 공부하라’고 했습니다. 그리고 수칙 1-1로 ‘웹 표준 기술을 제대로 알고, 항상 가까운 곳에 스펙을 둬라’고 정해 보았습니다.
- HTML 4.01 - http://www.w3.org/TR/html401/
- XHTML 1 - http://www.w3.org/TR/xhtml1/
- HTML 5 - http://www.w3.org/TR/html5/
- CSS 2.1 - http://www.w3.org/TR/CSS21/
- ECMA Script - http://www.ecma-international.org/publications/standards/Ecma-262.htm
- MSDN - http://msdn.microsoft.com/en-us/library/aa155110.aspx
- MDC Reference - https://developer.mozilla.org/en/Main_Page
- Opera Community - http://dev.opera.com/
- 나라디자인 Wiki - http://naradesign.net/wiki/UI_개발자를_위한_북마크
- 웹 뒤에 숨은 Web - http://www.pageoff.net/828
1.2 새로운 정보와 이슈를 놓치지 말라
수칙 1.2는 '새로운 정보와 이슈를 놓치지 말라'입니다. 개발 분야 만큼 빠르게 새로운 정보와 이슈가 쏟아지는 분야도 드믈 것이라고 생각됩니다. 겨우 하나의 언어와 기술을 익혔는데 어느새 또 다른 언어가 나오고 방법론이 제시됩니다. 특히 웹이 대중화된 이후는 그 속도가 더욱 더 빨라지고 있는 추세입니다. 그런 빠름을 쫓아가지 못한다면 계속해서 뒤쳐질 수 밖에 없는 것이 또한 이 분야인 것 같습니다.
RSS는 여러 사이트의 새로운 글을 아주 쉽게 읽을 수 있도록 도와줍니다. 구글 리더와 같은 피드 구독기를 적극 활용하면 수 많은 블로그와 홈페이지의 최신 정보를 쉽게 얻을 수 있습니다. 파이어폭스와 같은 최신의 브라우저는 아주 쉽게 피드를 구독할 수 있도록 기능을 지원하고 있기도 합니다. 또 다른 하나는 Delicious와 같은 SNS기반의 북마크 서비스를 이용하는 것입니다. HTML, CSS, Web Standards 등 관련 태그를 통해서 다른 사람들이 북마크한 유용한 정보와 사이트들을 쉽게 찾아볼 수 있습니다.
수칙 2. 습관을 버려라
세살 버릇 여든까지 간다고 합니다. 한번 몸에 벤 습관이 그만큼 무섭다는 뜻입니다. 초중고와 대학을 지나면서 그리고 사회 초년생일 때- 처음 개발을 배우고 이 바닥에 발을 들이기 시작해서 처음 만났던 사수로부터 배웠던 기술들. 아무것도 몰랐던 우리는 습자지처럼 새로운 기술들을 받아 들이고 배워왔습니다. 하지만 알게 모르게 잘못된 정보와 기술을 가려 내지 못하고 무분별하게 배워왔다는 사실입니다. 책이라고 해서 다르지 않습니다. 외서의 경우 오역되거나 잘못된 의미를 전달하기도 하고, 바람직하지 않은 기술을 권장하는 듯 써 놓은 것을 그대로 믿어버린 경우가 부지기수입니다.
때문에 웹 접근성과 웹 표준을 대하는 개발자에게 있어서 가장 큰 충격은 자신의 지식에 대한 확신의 흔들림입니다. 뒤에 간단한 설문 조사 결과를 통해서도 말씀 드리겠지만 자신이 알고 있는 표준에 대한 지식이 과연 옳은 것이었는가? 하는 의심을 가질 필요가 있습니다. 그래서 두번째 수칙은 ‘관성을 버려라’ 그리고 ‘항상 현재의 방법이 최선인지를 의심하라’라고 하였습니다.
그럼 웹 개발자들이 일반적으로 잘못 알고 있었던 사례들은 어떤 것들이 있는지 살펴보겠습니다.
습관 하나. 비동기 통신은 Frame으로 구현해야 하나?
첫번째 사례는 비동기 통신을 사용하기 위해서 프레임을 사용하는 경우입니다. 최근에는 Ajax를 이용한 개발이 붐을 일고 있기는 하지만 여전히 Frameset을 설정하여 무의미한 frame을 만들어 놓고, 비동기 통신을 구현하고자 하는 개발자들이 있었습니다. 조금 더 자세히 살펴보겠습니다.
Frame 기술의 발전하다가 Ajax에게 그 자리를 내주고 있다.
Frame은 Netscape 2.0(1996)에서 최초로 지원되었고, HTML 4.0(1997)에 이르러 공식적으로 도입되었습니다. Hidden Frame 기술은 Frameset을 설정하여 하나의 Frame의 높이를 ‘0’로 만들어 서버와의 통신을 처리하는데 사용한 최초의 비동기 요청/응답 모델이었습니다. 이후 마이크로소프트사가 자바스크립트를 이용하여 동적으로 페이지의 일부를 수정할 수 있는 기술인 DHTML을 만듭니다. Hidden Frame 기술은 이 DHTML을 만나 페이지의 어느 부분이라도 서버 정보를 가지고 언제든지 새로고침할 수 있도록 해 주었습니다. 하지만 Hidden Frame 기술은 반드시 프레임셋을 설정해야만 한다는 단점이 있었는데, iframe 엘리먼트가 HTML 4.0에 포함되면서 Inline Frame 기술을 사용할 수 있게 됩니다. 이후 CSS와 결합하여 Hidden Inline Frame 기술로 발전되어 사용되기 시작합니다. 하지만 더이상 Frame을 사용하여 웹사이트의 구조를 분리할 필요성(퍼포먼스 향상을 위해)도 없으며, 비동기 통신을 위해서라면 이미 Ajax와 같은 기술이 그 자리를 대체해 나가고 있다. 그럼에도 이같은 frame의 발전은 많은 웹개발자들이 Frame기술을 이용한 잘못된 습관을 가지게 만드는데 일조를 하게 됩니다. 다음의 마크업을 보겠습니다.
<frameset rows="*,0" frameborder="0" border="0" border="0">
<frame src="main.html" name="main" scrolling= "auto">
<frame src="blank.html" name="hidden" scrolling= "auto" >
</frameset>
<frame src="main.html" name="main" scrolling= "auto">
<frame src="blank.html" name="hidden" scrolling= "auto" >
</frameset>
경력이 적은 분들이라 하더라도 이와 같은 마크업을 한 두번쯤은 보셨을 것으로 생각됩니다. 이같은 프레임셋을 설정하는 이유에는 지금 설명드린 비동기 통신을 구현하기 위한 목적 외에도 도메인을 깔끔하게 유지하고자 하는 목적도 있습니다. 하지만 두 가지 이유 모두 접근성 측면에서 바람직하지 않습니다. 바로 이어서 설명드리겠습니다.
습관 둘. 고정 URL은 보안이 좋다?
과거에는 URL을 통한 해킹 공격이 이루어졌던 사례들이 있었습니다. Query Injection이라고도 하는 이 해킹 방법(SQL Injection이 좀 더 정확한 표현이라고 합니다)은 이와 같이 URL이나 사용자 서식 요소의 필드를 통해서 특정 SQL Query를 입력함으로써 웹사이트 가입자의 비밀번호나 주민등록번호와 같은 정보를 노출시키는 방법입니다. 또한, 꼭 Query Injection 이 아니더라도 간단히 도메인 뒤에 따라 붙는 Query String의 값을 조작하는 것만으로도 웹사이트에 비정상적인 동작을 요청할 수 있습니다. 이 때문에 많은 사람들이 URL에 Query String을 보이지 않도록 눈속임을 했었습니다. 거기에 마우스 우클릭을 막아 컨텍스트 메뉴가 뜨지 않게까지 했습니다. 이렇게 하면 사용자가 임의로 웹 페이지의 전체 URL을 알 수 없을 것이라고 생각했던 것이지요.
네이버와 같은 포털의 URL은 숨겨져 있지 않다
하지만 어느 사이트보다도 보안이 생명인 검색 사이트나 포털 사이트 어느 곳도 전체 주소를 감추거나 하지 않습니다. URL을 감추고, 컨텍스트 메뉴를 무력화 시키는 것이 결코 해커의 공격을 막는 방법이 되지 않는다는 것입니다.
그럼 이러한 프레임셋 구조가 웹접근성 측면에서는 어떨까요?
프레임셋을 사용하게 되면 일단, 개별 웹 페이지의 고유 주소를 상실하기 때문에 고유성이 상실됩니다. 이것은 결국 정보와 위치의 불일치를 가져오게 됩니다. 즉, 절대 주소가 공개되지 않은 경우 사용자는 찾고자 하는 정보를 다시 얻기 위해서 웹 사이트의 초기 페이지부터 탐색을 반복해야 하는 번거로움을 가지게 됩니다. 이는 파리를 여행하는 사람에게 세계 지도를 던져 주며 에펠탑을 찾아 가 보라는 것과 다를게 없습니다.
같은 URL을 가진 서로 다른 페이지
국가정보원 웹사이트입니다. 홈페이지와 관계규정 내용을 담고 있는 페이지의 URL이 www.kecs.go.kr로 동일함을 볼 수 있습니다. 관련 내용을 인용하기 위해서 URL이 필요한 경우에도, 다른 사람에게 해당 페이지의 내용을 소개하고 싶을 때에도 또같은 URL을 사용해야 합니다. 심지어 자신이 북마크를 해 놓고 다시 열고 싶을 때에도 국정원 사이트의 홈페이지부터 재 탐색을 해야합니다. 이것은 일반인에게도 매우 불편합니다.
그럼에도 불구하고 Frame을 사용해야 한다면 다음을 기억하십시오:
- DTD(HTML 4.01 Frameset 또는, XHTML 1.0 Frameset)의 명확한 정의
- title 속성을 이용한 정확한 이름을 부여
- 최소 사용
습관 셋. alt? title? 그런거 없어도 아무 문제 없더라
alt는 툴팁이 아닙니다
title 속성 역시 alt 처럼 스크린리더를 통해서 음성 정보를 지원하고, 일부 엘리먼트를 제외한 거의 모든 엘리먼트의 제목으로 사용될 수 있습니다. 특히 frame 엘리먼트와 label 엘리먼트를 함께 쓸 수 없는 서식 요소의 제목으로사용되면 접근성을 높일 수 있습니다. 하지만 alt와 title 속성을 처리하는데 있어서 스크린리더마다 방식이 다를 수 있기 때문에 이에 대한 사전 조사와 테스트가 필요합니다.
미투데이는 다양한 스타일시트를 포함하고 있고, title을 부여하고 있다.
미투데이 사이트는 여러개의 테마 스타일시트를 포함하고 있습니다. 개별 스타일시트를 연결하는 link 엘리먼트에는 해당 스타일시트의 제목이 title로 정의되어 있음을 볼 수 있습니다.
Doday는 alt 속성을 잘못 처리하고 있다
반면에, 비교적 웹 표준을 잘 준수한 Doday 서비스의 경우 메인 페이지 ‘요즘 이야기’부분에서 사용자 프로필 이미지들에 대한 alt 값이 모두 ‘님의 프로필 이미지’로 똑같습니다. 사용자 아이디를 넣어줘야 하는 부분에서 개발자가 실수로 빠뜨리지 않았나 싶습니다. 결과적으로 시각 장애인 및 검색 엔진은 서로 다른 이미지들을 모두 똑같은 의미의 이미지로 파악할 우려가 있습니다. (4월 7일 오전 저의 버그 신고로 인해 바로 수정되었습니다.)
alt와 title을 이야기하면서 항상 빠지지 않는 것이 언제 alt를 쓰고, 언제 title을 써야 하는지에 대한 문제입니다. 이 문제는 네이버 카페 ‘하드코딩을 하는 사람들’이나 ‘CSS Design Korea’에서의 논의와 '한국 모질라 커뮤니티'에서 논의가 이루어졌었고, 일모리님의 블로그에 잘 설명되어 있습니다. 참고해 주시기 바랍니다.
대체 텍스트를 사용하기에 앞서 다음과 같은 고민이 있을 수 있습니다. 첫째, 의미를 가진 이미지인가 꾸밈용 이미지인가 하는 것입니다. 단지 꾸밈용이라면 불필요한 대첵 텍스트가 오히려 접근성과 사용성을 떨어 뜨릴 수 있습니다. 둘째, 이미지 자체를 대체하는 것인지 아닌지를 판단하여 alt를 사용할지 title을 사용할지 적절히 판단할 수 있어야 합니다. 셋째, 대체 텍스트의 길이가 긴 경우 longdesc 속성을 이용하거나, IR기법 등 다른 방법을 고민할 수 있어야 합니다.
습관 넷. Label? 개발자는 다 안다고?
웹 개발자들이 자주 간과하고 있는 것 들 중 또다른 하나가 바로 label 요소입니다. label요소는 input과 같은 사용자 서식 요소에 대한 정보를 첨부하며 연관을 맺습니다. 주로 서식 요소의 제목 요소로 적용되고 있으며, 서식요소와 1:1로 관계를 갖습니다. 이같은 마크업은 서식 요소에 대한 접근성을 높여줍니다. 다음은 label을 적용하는 방법입니다.
명시적 선언
<label for="userId">아이디</label>
<input type="text" id="userId" />
<input type="text" id="userId" />
암시(묵)적 선언
<label>비밀번호
<input type="text" id="userPw" />
</label>
<input type="text" id="userPw" />
</label>
Title 선언
<input type="text" id="phoneHead" title= "전화 앞자리" />
<input type="text" id="phoneBody" title= "전화 뒷자리" />
<input type="text" id="phoneBody" title= "전화 뒷자리" />
하지만 이렇게 의미적으로 하나의 정보를 위해서 둘 이상의 필드로 구성하는 것은 사용성 입장에서도 별로 바람직하지 않은것 같습니다. 각 필드를 채우고 Tab키를 눌러서 이동해야 하는 번거로움을 차치하더라도, 필드가 채워지면 자동으로 다은 필드로 이동하는 기능의 경우에는 시각 장애인에게는 접근성을 저해하는 요소가 된다는 사실을 알아두실 필요가 있을 것 같습니다. 하나의 필드로 구성하여 자바스크립트와 서버 개발을 통해서 얼마든지 유효성 검증과 데이터 처리를 할 수 있을 것입니다.
네번째로 말씀 드릴 내용은 form 엘리먼트 처리에 관한 것으로, 자바스크립트를 이용해서 서식 요소의 값을 서버에 전달하는 경우 자바스크립트가 지원되지 않는 환경에서 ‘전달’ 자체가 이루어지지 않는 문제가 있습니다. 따라서 서식 요소의 데이터를 서버에 넘기는 작업은 form 엘리먼트의 본래 기능을 그대로 이용하는 것이 좋습니다. 실생활에서의 배달과 전달을 UPS와 같은 전문 전송 업체에게 맡기듯 서식 요소의 데이터는 form에게 믿고 맡기는 것이 좋습니다.
더불어 서식 요소에 대한 유효성 검증을 자바스크립트로만 처리하는 경우가 종종 있습니다. 이 역시 바람직하지 않은 것으로, 반드시 클라이언트와 서버 양쪽 모두에서 유효성 검증에 대한 처리를 해 주어야 사용자의 실수로 인한 문제를 막을 수 있습니다.
다음은 꼭 한번 읽어보세요: (오픈 웹은 현재 구글 그룹스로 변경되어 아래 링크를 확인할 수 없을 수 있습니다)
- ActiveX? - http://ko.wikipedia.org/wiki/ActiveX
- AJAX 배후 기술 - http://ggoma.isblog.net/blog_post_233.aspx
- Frame: ‘보안접속’ 프로그램 - http://openweb.or.kr/?p=499
- Frame: 웹페이지 주소 감추기 - http://openweb.or.kr/?p=480
- 대체 텍스트 - http://en.wikipedia.org/wiki/Wikipedia:Alternative_text_for_images
- Alt Attribute - http://en.wikipedia.org/wiki/Alt_attribute
- 접근성을 해치지 않는 자바스크립트의 사용 - http://hyeonseok.com/docs/accessible-javascript/
- 센스리더 프로 리뷰 - http://html.nhndesign.com/accessibility_sensereader_review
수칙 3. 사람을 믿고, 기계를 의심하라
지금까지는 지식과 정보, 기술적인 부분에 대해서 두가지 수칙을 들었고, 그 안에서 몇가지 작은 이야기들을 전해 드렸습니다. 이제 세번째 수칙으로 ‘사람을 믿고, 기계를 의심하라’고 말씀을 드리면서 수칙 3.1 ‘사람을 믿어라’라고 부탁드리고 싶습니다.
3.1 동료를 믿어라
첫번째로 웹 기획자는 그 누구보다 열심히 웹 접근성와 사용성에 대해서 고민을 하는 사람입니다. 그들이 다소 거만하고 잘난 체를 할지 모르지만 그들의 머리 속에는 우리들이 걱정하는 것 이상으로 많은 것들을 고민하고 있다라는 사실을 잊지 마시길 바랍니다.
웹 에이젼시에서 일을 했던 경험을 돌이켜보면 제가 사내에서 웹 접근성과 표준에 대한 이야기를 꺼낼 때 그리고 설득하는 과정에서 디자이너를 이해시키는 일이 가장 쉽지 않았었습니다. 그러던 중 함께 스터디를 하던 디자이너 친구 한 명이 이런 질문을 하더군요. ‘과연 웹 표준을 지킬 수 없는 디자인이 있느냐? 있다면 어떤 디자인이냐?’라고 말이죠. 그날 스터디에서는 저를 비롯해서 여러명의 사람들이 한국의 비주얼이 강한 디자인 때문에 표준을 적용하기 어렵다라고 목소리를 높이고 있었거든요. 하지만 막상 그 디자이너 친구의 질문에 어떤 디자인이 절대 표준 기술만 가지고 만들 수 없다라고 대답하지 못했습니다. 물론, 실무에서 작업을 하다 보면 디자인 때문에 마크업과 css 작업에 애를 많이 겪고 있고, 종종 해결책을 찾지 못하고 CSS Hacks을 사용하기도 합니다. 하지만 돌이켜보면 정말 길이 없어서 그랬다기 보다 시간이 부족해서 차선책을 택했던 적이 더 많았음을 스스로 깨닫게 됩니다. 저는 그 날 이후로 함께 일 하는 웹디자이너를 설득하는 일을 그만 두었습니다. 그리고 까짓것 한 번 해볼테니 날 믿고 디자인을 해달라고 부탁하곤 했습니다.
이 자리에 모인 대부분의 분들이 웹 퍼블리셔 또는 UI 개발자라는 명함을 가지고 계실것으로 생각됩니다. 그만큼 그 어느 직군보다 웹 표준과 접근성에 대해서 관심이 높고, 열정이 대단하다고 생각합니다. 어떤 일이든 시작이 가장 어렵고 첫 걸음을 옮기는 것이 가장 힘듭니다. 그 큰 걸음을 지금 여러분이 떼고 있으신 겁니다. 때문에 저는 감히 여러분 모두를 웹 표준 전문가라고 말씀드립니다. ASP든 JSP든 서버단에서 개발 업무를 보고 계신 개발자님들 동료 UI개발자 분들의 실력을 믿어보시길 바라겠습니다.
문화적인 차이일 수 있겠지만 한국은 지나치게 고객을 무시하고, 의심하는 경향이 있습니다. 사이트 발주자인 클라이언트의 무지함을 욕하고, 사이트 사용자인 고객의 멍청함에 잔득 걱정을 합니다. 때문에 온갖 보안 프로그램을 깔기를 강요하고 프레임셋으로 URL을 감추고, 우클릭을 막아버리고, 온갖 문서를 보면서 동의를 강요합니다.
개발자들의 논리 중에 가장 우수운 것이 바로 ‘자신 역시 한 명의 사용자(고객)이다’라는 점입니다. 그렇게 사용자들을 무시하면서 자신을 또 한 명의 사용자로 생각한다는 것. 결국 누워서 침을 뱉은 것 아닌가요.
또 한가지 개발자들은 오로지 코딩만 잘 하면 된다고 생각합니다. 발주자건 사용자건 그들을 상대하는 건 기획자라고 생각합니다. 웹 접근성과 웹 표준에 대한 인식 제고나 설득 역시 기획자가 해야할 것이라고 생각하고, 웹 퍼블리셔니 UI개발자니 하면서 갑자기 한 자리를 차지하기 시작한 사람들이 해야 한다고 생각합니다.
만약 개발자 직군이 명확하게 클라이언트단과 서버단으로 구분되어 서버사이드개발자가 순수하게 로직만 작성한다면 반드시 틀린 말은 아닐 수 있습니다. 하지만 제가 서두에서 개발자의 범위를 포괄적 개발자로 설정한 것 처럼 현실은 그렇치 않습니다. 그리고 앞으로도 상당한 기간동안 지금의 현실이 갑자기 바뀌지도 않을 것으로 생각됩니다. 지금, 개발자인 사람들 모두가 같은 고민과 철학으로 고객을 바꾸고 변화 시킬 필요가 있는 겁니다.
3.2 기계를 의심하라
개발 경험이 오래되신 분들은 과거 핫도그 웹 에디터나 나모 웹 에디터 등을 기억하실 겁니다. 어도비의 고라이브도 있군요. 드림위버의 초기 버전도 언듯 떠오르실 분도 계실겁니다. 당시의 이런 에디터 툴은 편리하게 홈페이지를 만들어 주기는 했지만 웹 표준을 몰랐던 브라우저들 처럼 툴 역시 웹 표준을 인식하지 못했습니다. 때문에 불필요한 마크업과 CSS를 만들어 냈고, 호환성이 확보되지 않은 자바스크립트 코드를 마구 집어 넣었습니다. 지금은 드림위버등 많은 에디터들이 웹 접근성과 웹 표준 스펙을 반영하고 있지만 여전히 일부 에디터는 잘못된 코드와 DTD의 생략을 기본 값으로 설정해 놓고 있습니다.
특히 나모 웹 에디터는 저 역시 98년 당시에 많이 사용했던 에디터입니다. 이 에디터는 자바스크립트를 자동으로 생성해 주는 마법사 툴이 있었는데, 호환성이 확보되지 않은 스크립트 코드를 만들어 냈던 것으로 기억합니다. 그 코드가 IE전용이었다는 사실은 한참이나 지나서야 알게된 사실들이었습니다. 초기 드림위버가 만들어낸 코드 역시 엉망진창이었습니다. 초기 버전에서 만들어낸 엉망의 코드 때문에 많은 개발자들이 워지익 툴의 편리함에도 불구하고 나모 웹 에디터나 드림위버 등의 사용을 꺼리게 되기도 했었습니다. 다행히 최근 출시된 새로운 버전이나 에디터들은 많은 향상이 있어 과거처럼 엉망인 경우는 드믄것 같습니다. 옛 말에 장인은 연장 탓을 하지 않는다고 하죠. 훌륭한 웹 개발자라면 툴 때문에 웹 표준을 지키기 어렵다라는 말은 하지 않아야겠죠. 하지만 툴이 가져다 주는 편리함과 생산성은 역시 무시할 수 없을 것입니다. 때문에 어떤 툴을 자신의 주력 툴로 결정한 것인지는 매우 중요하고, 잘 선택되어야 합니다. 무료든 유료든 아주 다양한 에디터들이 존재하고 있습니다. 충분히 검증된 제품을 선택하시길 바랍니다.
또 한가지, 개발자들의 PC는 회사 사정에 따라 차이는 있겠지만 일반적으로 부족하지 않은 스펙을 가지고 있습니다. 하지만 인터넷에 접속하는 모든 PC가 아이온과 콜 오브 듀티같은 인기 게임을 실행시킬 수 있을 만큼 멋지진 않습니다. 학교나 관공서같은 곳의 PC는 생각보다 오래된 것이 많습니다. 이미지와 플래쉬 무비로 무겁게 제작된 사이트들 때문에 PC를 몇 번이나 리부팅해야 하는 사람들도 있을 것입니다.
Markup Validation Service
마지막으로 웹 표준을 열심히 지키고 계신 여러분들이 절대로 잊지 말아야 할 한가지를 말씀 드리겠습니다. HTML과 CSS에 대해서 충분히 의미 있게 그리고 호환성이 확보된 표준 스펙을 따랐을 경우에 우리는 W3C의 벨리데이션 서비스를 통해서 이같은 유효성 검사 통과 화면을 받아 볼 수 있습니다. 하지만 이 순간 여러분은 과연 이 결과가 타당한지에 대한 의구심을 가질 필요가 있습니다. 벨리데이션 검사는 단지 코드에 대한 문법 검사일 뿐입니다. 파란 하늘 이미지에 ‘용광로’라고 적어 넣은 alt 속성을 확인 했더라도 이 검사는 초록색 ‘성공’ 메세지를 멋지게 보여줄 것입니다. 과연 제대로 만든 페이지였을까요?
마치며
큰 수칙 3가지를 전해 드리면서 그리고 첫번째 수칙을 통해서 웹 개발자에게 있어서 웹 접근성을 향상시키는 가장 확실하고 정직한 방법은 '공부'라고 했습니다. 웹 표준 스펙을 얼마나 제대로 알고 있는지 그리고 얼마나 명확하게 적용할 수 있는지가 가장 중요하다고 생각합니다. 그래서 저는 웹 표준을 웹 개발자에게 있어서 '기술'이라고 생각하고, 웹 접근성은 다른 사람을 생각하고 타인을 배려하고자 하는 '철학'에 빗대어 의미를 전달해 드리고자 했습니다. 기본적으로 웹 접근성 역시도 여러가지 명세와 가이드로 틀을 갖춰 나가고 있지만 근본적으로 사람에 대한 마음을 담는 것이라고 생각하기 때문입니다. 개발자는 코드만 잘 짜면 된다라는 생각은 이제 버려야 합니다. 이 코드가 사람을 차별하는 칼이 될 수 있음을 아셔야 합니다. 그래서 더욱 더 왜 내가 웹 접근성을 고민해야 하는지에 대한 자기 철학이 필요한 이유입니다. 끊임 없는 자기 계발과 철학의 발견. 이 이야기를 해 드리고 싶었습니다.
라벨:
오픈웹,
웹개발자,
웹접근성,
웹퍼블리셔,
웹표준,
css,
ff,
html,
IE,
javascript,
open web,
Opera,
UI Developer,
UI개발이야기,
Web Accessibility,
Web Developer,
web publisher,
Web Standards
2009년 3월 11일 수요일
아직은 IE8을 사랑하긴 이르다
오늘 오후 한국MS가 마련한 IE8 Love Developer - 개발자가 주목할 Internet Explorer 8 세미나에 다녀왔습니다. 소문난 잔치에 먹을 것 없다고 해서 사실 MS가 차린 밥상에는 숟가락 들고 잘 찾아가지는 않았습니다만 이번 세미나 중에 2,3 세션에 관심이 갔던지라 회사에 허락을 받고 모처럼 밝은 낮에 외출을 해볼 수 있었습니다. 소감부터 밝히자면 생각보다 꽤나 유익했던 세미나였습니다. 옥의 티라면 극장도 아닌데 '팝콘'을 서비스로 제공한 MS의 센스 때문에 속이 조금 미식거렸던 것?

행사장 입구에서부터 왠 팝콘 냄새가 진동을 하길래 극장이 있나 하고 잠깐 두리번 거렸는데 정말로 팝콘을 간식으로 제공하고 있었습니다. 거기다 팝콘 명찰을 달고 왠 텔레토비 같은 녀석이 왔다 갔다 하는데 다른 행사장에 왔나 하고 잠깐 멈칫 거리기까지 했구요. 알고보니 MSDN 한국 블로그 이름이 'POPCON'이더군요. IE의 주요 기능을 간략히 소개하는 '쭝스의 1분 데모' 등 스크린 캐스트가 여러개 올라와 있는데 오늘 행사에서도 계속해서 영상을 보여줬습니다. 스피커가 지루하게 강의를 하는 것 보다는 훨씬 나았던 것 같았습니다.

중간 쉬는 시간과 행사 이후에 이 자리에서 스피커들에게 질문을 할 수 있도록 별도로 마련된 공간입니다. 좋은 아이디어이긴 하지만 막상 발표를 경청하는 중에는 질문이 있다가도 깔아 놓은 멍석 위에서는 입을 다무는 편이라 차마 질문을 하지는 못했습니다.


첫번째 세션은 MS의 개발자&플랫폼 에반젤리스트로 근무 중인 김대우님의 발표였습니다. 주로 IE8의 일반적인 기능 소개와 세미나 전체 차례를 소개해 주셨구요. 중간에 '익스프레션 웹'의 김영일씨와 '알툴즈'의 세일(성이 생각나지 않네요;)님을 모셔서 IE8의 친구들(?)을 소개해 주셨습니다. 디테일한 내용으로 채워진 것은 아니지만 IE8을 준비하기까지의 노력과 웹 표준에 대한 의지(?)를 세미나에 참석한 900여명(예상보다 꽤나 많은 사람들이 세미나에 참석한 듯 했다)의 참석자-대부분 개발자일 듯-들에게 호소하는 모습이 나빠 보이지만은 않았다. 다만 UI개발을 하는 사람으로서 IE의 Active X등 브라우저의 확장 기능이 있는 이유와 있을 수 밖에 없는 이유, 있어야 하는 이유를 사용자들의 요구와 사용성 때문(공감하는 것이긴 하지만)이라는 것만을 너무 강하게 어필하고 있지는 않았나 싶다. 사용성이 중요한 만큼 정말 중요한 가치-웹 표준이나 접근성 같은-역시 무시될 수 없다는 것도 아는 듯 하였는데 스스로 단점을 구체적으로 밝히는데까지는 어려움이 있어 보였다.


팔은 안으로 굽는다고 했던가. 역시 같은 분야에서 일을 하고 계신 분이 저 앞에 서 계시니 괜히 어깨가 으쓱거려지고 뿌듯하더라. 찬명님의 발표는 매번 느끼는 것이지만 어려운 주제를 쉽고 명쾌하게 풀어놓는데 재주가 좋으신 것 같다. 오늘 역시 만약에 내가 했더라면 무척이나 어렵고 따분하게 진행했을 것이 뻔한 내용을 너무나 시원 시원하게 풀어 주셨다. IE8 의 웹 표준 지원 정도와 하위 버전과의 호환성 문제, 낡은 웹 페이지와의 호환성 문제, 각 버전별로의 대응법 등을 직접 만드신 예제를 시연해 주시면서 설명해 주셨다. 마치 잘 나가는 EBS 방송을 보고 수학 문제가 술술 풀리는 느낌이었달까?

팝콘과 함께 제공되는 커피. 맛은 괜찮았다. 하지만 난 역시 Firefox가 더 좋다. 찬명님 기대 말씀대로 IE9가 더 나아지고, IE10이 찬사를 받는 순간이 온다면 모를까. 아직은- 그래 아직은 Firefox가 더 좋다.

세번째 세션 발표는 NC소프트 오픈마루 스튜디오의 강규영 과장님이 해 주셨다. 강규영님은 오픈소스 웹 에디터로 유명한 Xquared를 만드신 분으로 많이 알려져 있는데 오늘 처음으로 뵙고(먼 발치에서지만)나니 깊은 지식과 훌륭한 말솜씨 그리고 뛰어난 재치까지- 굉장히 신선하고 충격적이었다라고 적고 싶다. 저런 사람, 아니 괴물이 다 있을까! 하고 감탄이 절로 나왔으니까. 오픈마루에 인연이 있는 지인으로부터 종종 대단하시다는 말만 전해 듣다가 오늘 직접 보니 허언이 아닌듯 했고, 내심 존경하는 마음까지 들었다. 정말 훌륭하신 분이다!

마지막 세션은 정성태님께서 ActiveX 개발자들을 위해 준비한 자료를 발표해 주셨는데 내 지식으로 알아 듣고 이해하기에는 많이 역부족이었던 시간이었다. 그렇지만 IE8이 어떻게 작동되고 있는지 굉장히 친절히 설명을 해 주셔서 도움이 되었던 것 같다. 더불어 항간에 떠 돌던 Active X 사망설을 일축하셨는데 개인적으로는 이해는 되지만 아쉽게 느껴지는 부분이 아닐 수 없었다. 사용자 경험을 위해서 제공되는 확장 기능이 꼭 Active X 이어야 하는지. 반대로 Active X를 지원하지 않는 다른 브라우저들은 보다 나은 사용자 경험을 제공할 방법이 없는 것인지. 그건 아니지 않는가. Active X가 보안 문제를 완벽에 가깝도록 해결한다고 하더라도 MS 윈도우와 IE에서만 작동된다면 근본적인 문제는 결코 해결되는 것이 아니지 않는가. 정성태님께서는 Active X가 사라지고 Active Y가 나온다고 해서 크게 달라지는 것은 없을것이다라고 하셨지만 Active Y가 모든 브라우저와 호환성을 갖춘 것이라면 정말 달라지는게 없을까?

마지막은 오후 내내 불편한 자리를 벗어나지 않고 인내로 견딜 수 있게 해준 경품 추천 시간이었다! 하지만 저 텔레토비는 내 편은 아니더라. 빈 손으로 유유히 행사장을 빠져 나왔다.
IE8 정식 버전은 조만간 우리들 앞에 의기양양한 모습으로 나타날 것이 분명하다. 찬명님 말씀대로 UI개발을 하는 웹 퍼블리셔들이나 개발자들에게는 IE8의 출시로 인해 대응해야 할 브라우저가 하나 더 늘어서 단기적으로는 일이 더 는 셈이지만 4,5년쯤 되에는 우리들의 후배들은 보다 나은 환경에서 적은 스트레스로 일을 할 수 있을 거라는 기대감을 갖게 한다.
하지만 당장에 IE8만 놓고 예측하고, 평가한다고 했을 때 그들(MS)의 바람대로 IE8을 사랑할 수 있을까? 하는데에는 아직 찝찝함이 많이 남아 있는 것이 사실이다. 이런 세미나를 통해서 듣는 이야기는 대게 긍정적인 부분이다. 실무에서 UI개발자든 서버사이드 개발자든 막상 부딪혀 보면 예기치 못한 난관에 당황해하는 경우가 비일비재하기 마련이다. 정찬명님이나 강규영님의 노하우가 IE8에 대응하는 상황에서는 분명 큰 도움은 되겠지만 IE의 하위 버전들이 가지고 있던 산적한 문제들에 대해서는 근본적인 해결책은 되지 못할 것이다. 그래서 찬명님이 농담반 진담반으로 MS가 소수의 하위 브라우저 사용자들의 시스템을 업그래이드를 시켜 줬으면 좋겠다라는 것처럼 MS의 보다 확실한 대답이나 대응이 필요하다고 생각된다. '개발자를 살려주세요'같은 캠페인이나 구글의 IE 업그래이드 권장 캠페인 등이 다른 곳이 아닌 MS 스스로 나서서 해야 하는게 아닌가.
과도기의 웹. 그리고 쉼 없이 변화하는 웹 생태계 속에서 브라우저는 계속해서 진화를 하고, 더디게만 보이던 IE 역시 다시 한 번 허물을 벗어 던지려고 하고 있다. MS가 설득의 무기로 삼는 '사용자들에 대한 사용성의 증대'와 UI개발자들의 이상인 '웹 표준을 통한 웹 접근성의 확보'가 IE8의 등장과 함께 대립이 아닌 공존의 관계로 발전해 나가기를 기대해 본다.
추신 / 발표자료는 여기에서 내려 받으실 수 있습니다.
MSDN 블로그의 이름이 POPCORN입니다.
행사장 입구에서부터 왠 팝콘 냄새가 진동을 하길래 극장이 있나 하고 잠깐 두리번 거렸는데 정말로 팝콘을 간식으로 제공하고 있었습니다. 거기다 팝콘 명찰을 달고 왠 텔레토비 같은 녀석이 왔다 갔다 하는데 다른 행사장에 왔나 하고 잠깐 멈칫 거리기까지 했구요. 알고보니 MSDN 한국 블로그 이름이 'POPCON'이더군요. IE의 주요 기능을 간략히 소개하는 '쭝스의 1분 데모' 등 스크린 캐스트가 여러개 올라와 있는데 오늘 행사에서도 계속해서 영상을 보여줬습니다. 스피커가 지루하게 강의를 하는 것 보다는 훨씬 나았던 것 같았습니다.
Q&A를 위한 자리
중간 쉬는 시간과 행사 이후에 이 자리에서 스피커들에게 질문을 할 수 있도록 별도로 마련된 공간입니다. 좋은 아이디어이긴 하지만 막상 발표를 경청하는 중에는 질문이 있다가도 깔아 놓은 멍석 위에서는 입을 다무는 편이라 차마 질문을 하지는 못했습니다.
첫번째 세션은 MS의 개발자&플랫폼 에반젤리스트로 근무 중인 김대우님의 발표였습니다. 주로 IE8의 일반적인 기능 소개와 세미나 전체 차례를 소개해 주셨구요. 중간에 '익스프레션 웹'의 김영일씨와 '알툴즈'의 세일(성이 생각나지 않네요;)님을 모셔서 IE8의 친구들(?)을 소개해 주셨습니다. 디테일한 내용으로 채워진 것은 아니지만 IE8을 준비하기까지의 노력과 웹 표준에 대한 의지(?)를 세미나에 참석한 900여명(예상보다 꽤나 많은 사람들이 세미나에 참석한 듯 했다)의 참석자-대부분 개발자일 듯-들에게 호소하는 모습이 나빠 보이지만은 않았다. 다만 UI개발을 하는 사람으로서 IE의 Active X등 브라우저의 확장 기능이 있는 이유와 있을 수 밖에 없는 이유, 있어야 하는 이유를 사용자들의 요구와 사용성 때문(공감하는 것이긴 하지만)이라는 것만을 너무 강하게 어필하고 있지는 않았나 싶다. 사용성이 중요한 만큼 정말 중요한 가치-웹 표준이나 접근성 같은-역시 무시될 수 없다는 것도 아는 듯 하였는데 스스로 단점을 구체적으로 밝히는데까지는 어려움이 있어 보였다.
팔은 안으로 굽는다고 했던가. 역시 같은 분야에서 일을 하고 계신 분이 저 앞에 서 계시니 괜히 어깨가 으쓱거려지고 뿌듯하더라. 찬명님의 발표는 매번 느끼는 것이지만 어려운 주제를 쉽고 명쾌하게 풀어놓는데 재주가 좋으신 것 같다. 오늘 역시 만약에 내가 했더라면 무척이나 어렵고 따분하게 진행했을 것이 뻔한 내용을 너무나 시원 시원하게 풀어 주셨다. IE8 의 웹 표준 지원 정도와 하위 버전과의 호환성 문제, 낡은 웹 페이지와의 호환성 문제, 각 버전별로의 대응법 등을 직접 만드신 예제를 시연해 주시면서 설명해 주셨다. 마치 잘 나가는 EBS 방송을 보고 수학 문제가 술술 풀리는 느낌이었달까?
팝콘과 함께 제공되는 커피. 맛은 괜찮았다. 하지만 난 역시 Firefox가 더 좋다. 찬명님 기대 말씀대로 IE9가 더 나아지고, IE10이 찬사를 받는 순간이 온다면 모를까. 아직은- 그래 아직은 Firefox가 더 좋다.
세번째 세션 발표는 NC소프트 오픈마루 스튜디오의 강규영 과장님이 해 주셨다. 강규영님은 오픈소스 웹 에디터로 유명한 Xquared를 만드신 분으로 많이 알려져 있는데 오늘 처음으로 뵙고(먼 발치에서지만)나니 깊은 지식과 훌륭한 말솜씨 그리고 뛰어난 재치까지- 굉장히 신선하고 충격적이었다라고 적고 싶다. 저런 사람, 아니 괴물이 다 있을까! 하고 감탄이 절로 나왔으니까. 오픈마루에 인연이 있는 지인으로부터 종종 대단하시다는 말만 전해 듣다가 오늘 직접 보니 허언이 아닌듯 했고, 내심 존경하는 마음까지 들었다. 정말 훌륭하신 분이다!
마지막 세션은 정성태님께서 ActiveX 개발자들을 위해 준비한 자료를 발표해 주셨는데 내 지식으로 알아 듣고 이해하기에는 많이 역부족이었던 시간이었다. 그렇지만 IE8이 어떻게 작동되고 있는지 굉장히 친절히 설명을 해 주셔서 도움이 되었던 것 같다. 더불어 항간에 떠 돌던 Active X 사망설을 일축하셨는데 개인적으로는 이해는 되지만 아쉽게 느껴지는 부분이 아닐 수 없었다. 사용자 경험을 위해서 제공되는 확장 기능이 꼭 Active X 이어야 하는지. 반대로 Active X를 지원하지 않는 다른 브라우저들은 보다 나은 사용자 경험을 제공할 방법이 없는 것인지. 그건 아니지 않는가. Active X가 보안 문제를 완벽에 가깝도록 해결한다고 하더라도 MS 윈도우와 IE에서만 작동된다면 근본적인 문제는 결코 해결되는 것이 아니지 않는가. 정성태님께서는 Active X가 사라지고 Active Y가 나온다고 해서 크게 달라지는 것은 없을것이다라고 하셨지만 Active Y가 모든 브라우저와 호환성을 갖춘 것이라면 정말 달라지는게 없을까?
마지막은 오후 내내 불편한 자리를 벗어나지 않고 인내로 견딜 수 있게 해준 경품 추천 시간이었다! 하지만 저 텔레토비는 내 편은 아니더라. 빈 손으로 유유히 행사장을 빠져 나왔다.
IE8 정식 버전은 조만간 우리들 앞에 의기양양한 모습으로 나타날 것이 분명하다. 찬명님 말씀대로 UI개발을 하는 웹 퍼블리셔들이나 개발자들에게는 IE8의 출시로 인해 대응해야 할 브라우저가 하나 더 늘어서 단기적으로는 일이 더 는 셈이지만 4,5년쯤 되에는 우리들의 후배들은 보다 나은 환경에서 적은 스트레스로 일을 할 수 있을 거라는 기대감을 갖게 한다.
하지만 당장에 IE8만 놓고 예측하고, 평가한다고 했을 때 그들(MS)의 바람대로 IE8을 사랑할 수 있을까? 하는데에는 아직 찝찝함이 많이 남아 있는 것이 사실이다. 이런 세미나를 통해서 듣는 이야기는 대게 긍정적인 부분이다. 실무에서 UI개발자든 서버사이드 개발자든 막상 부딪혀 보면 예기치 못한 난관에 당황해하는 경우가 비일비재하기 마련이다. 정찬명님이나 강규영님의 노하우가 IE8에 대응하는 상황에서는 분명 큰 도움은 되겠지만 IE의 하위 버전들이 가지고 있던 산적한 문제들에 대해서는 근본적인 해결책은 되지 못할 것이다. 그래서 찬명님이 농담반 진담반으로 MS가 소수의 하위 브라우저 사용자들의 시스템을 업그래이드를 시켜 줬으면 좋겠다라는 것처럼 MS의 보다 확실한 대답이나 대응이 필요하다고 생각된다. '개발자를 살려주세요'같은 캠페인이나 구글의 IE 업그래이드 권장 캠페인 등이 다른 곳이 아닌 MS 스스로 나서서 해야 하는게 아닌가.
과도기의 웹. 그리고 쉼 없이 변화하는 웹 생태계 속에서 브라우저는 계속해서 진화를 하고, 더디게만 보이던 IE 역시 다시 한 번 허물을 벗어 던지려고 하고 있다. MS가 설득의 무기로 삼는 '사용자들에 대한 사용성의 증대'와 UI개발자들의 이상인 '웹 표준을 통한 웹 접근성의 확보'가 IE8의 등장과 함께 대립이 아닌 공존의 관계로 발전해 나가기를 기대해 본다.
추신 / 발표자료는 여기에서 내려 받으실 수 있습니다.
2009년 2월 27일 금요일
Firebug로 CSS를 빠르고 쉽게하자
Tutorial9에 올라온 Quick & Easy CSS Development with Firebug 글입니다. 번역은 아니고, 원문을 읽고 간단히 요약 정리한 것입니다.
Firebug 설치
Firebug를 이용해서 CSS 실시간으로 수정하기
Firebug는 인터넷에 개시된 웹 페이지의 CSS를 실시간으로 수정할 수 있죠. 다음은 원문에 포함된 동영상입니다. FIrebug를 이용해서 실시간으로 CSS를 수정하는 모습을 보여주고 있습니다.
그런데 종종 이렇게 수정된 내용이 서버에도 그대로 저장된다고 생각하시는 분들이 계십니다. 그렇지 않구요 개발자가 원본 CSS를 수정해서, 저장한 뒤에 웹 브라우저를 새로고침하는 과정이 복잡하고 반복되다 보면 시간을 많이 소모시키기 때문에 정확한 CSS를 빨리 찾아낼 수 있도록 제공되는 기능이라고 생각하시면 됩니다.
Internet Explorer를 위한 Firebug
Firebug 웹사이트에서는 Internet Explorer 를 위한 버전도 제공하고 있습니다. Firefox 처럼 부가기능으로 설치되는 것이 아니라 자바스크립트를 HTML 문서에 포함시켜 비슷하게 만들어주는 기능을 합니다. 때문에 Firefox와 Opera, Safari에서도 그대로 적용할 수 있습니다. 단지 <head> 안에 다음과 같이 스크립트를 한 줄 추가해 주시면 됩니다.
Firebug 설치
- 모질라 애드온 사이트에서 내려받을 수 있습니다. (Firebug 웹사이트에서도 받을 수 있습니다.)
- 설치가 완료되면 Firefox 하단에 주황색 벌레 아이콘이 생깁니다. 클릭을 하면 현재 보여지고 있는 웹 페이지의 HTML과 CSS, JavaScript 소스가 보여집니다.
Firebug를 이용해서 CSS 실시간으로 수정하기
Firebug는 인터넷에 개시된 웹 페이지의 CSS를 실시간으로 수정할 수 있죠. 다음은 원문에 포함된 동영상입니다. FIrebug를 이용해서 실시간으로 CSS를 수정하는 모습을 보여주고 있습니다.
그런데 종종 이렇게 수정된 내용이 서버에도 그대로 저장된다고 생각하시는 분들이 계십니다. 그렇지 않구요 개발자가 원본 CSS를 수정해서, 저장한 뒤에 웹 브라우저를 새로고침하는 과정이 복잡하고 반복되다 보면 시간을 많이 소모시키기 때문에 정확한 CSS를 빨리 찾아낼 수 있도록 제공되는 기능이라고 생각하시면 됩니다.
Internet Explorer를 위한 Firebug
Firebug 웹사이트에서는 Internet Explorer 를 위한 버전도 제공하고 있습니다. Firefox 처럼 부가기능으로 설치되는 것이 아니라 자바스크립트를 HTML 문서에 포함시켜 비슷하게 만들어주는 기능을 합니다. 때문에 Firefox와 Opera, Safari에서도 그대로 적용할 수 있습니다. 단지 <head> 안에 다음과 같이 스크립트를 한 줄 추가해 주시면 됩니다.
<script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>하지만 그다지 사용을 권해 드리고 싶지는 않네요. IE 7 이상부터는 MS에서 제공하고 있는 IE Developer Toolbar가 있고, Opera 역시 Dragon Fly라는 멋진 디버깅 툴을 자체 지원합니다. IE 버전별로 IE Developer Toolbar를 사용할 수 있는 방법은 나라디자인에 올라온 '여러 버전의 IE에서 IE Developer Toolbar 사용하기'를 참고하시면 됩니다. (찬명님께서 며칠 간 사용해보신 후 다소 버그가 발견되고 있어 패치 이전까지는 권장하지 않는 다는 글을 새롭게 올리셨네요.)
2009년 2월 26일 목요일
IE8 세미나 소식
한국 MS에서 곧 출시될 것으로 보이는 IE8에 대한 개발자 세미나를 열었습니다.
그동안 MS가 주취하거나 참여한 세미나, 컨퍼런스가 재미도 없고, 자사 제품 소개 위주로만 진행된 적이 많아서 별로 흥미가 없었는데 이번 세미나 스피커분들의 간단한 프로필과 개인 블로그를 살펴 보니 평일 오후 시간을 제법 즐겁게 보낼 수 있을 것 같다는 생각이 들어 사전등록도 하고, 이렇게 소식도 전해 드립니다.
- 일시 : 2009년 3월 11일 수요일 오후 1:30 - 2009년 3월 11일 수요일 오후 6:00
- 장소 : 코엑스 컨퍼런스 센터 401호
- 개요 :
- 김대우 : IE8에 대해서 개발자가 알아야 할 전반적인 내용들을 설명하고, IE8 적용사례 및 적용가이드에 대한 내용들에 대해서 알아 봅니다.
- 정찬명 : IE8의 향상된 웹 표준 지원을 UI 개발자들이 실무에 어떻게 활용할 것인지 고민하고 그 결과를 공유하는 세션 입니다. IE6~7에 최적화된 웹 사이트와의 호환성을 어떻게 유지할 것인지도 다룹니다.
- 강규영 : IE8의 새로운 기능, 타 브라우저와의 호환성, 개발자용 도구, 성능 개선 등 IE8과 관련하여 Ajax 개발자가 알아야 할 주요 이슈들을 소개합니다.
- 정성태 : IE8에서 브라우저 확장 기능을 구현하기 위해서 알아야 할 변경 사항인 Loosely Coupled IE와 BHO 그리고 이와 관련된 Tool Bar 적용 사례 및 올바른 ActiveX 활용법에 대한 내용을 다룹니다.
그동안 MS가 주취하거나 참여한 세미나, 컨퍼런스가 재미도 없고, 자사 제품 소개 위주로만 진행된 적이 많아서 별로 흥미가 없었는데 이번 세미나 스피커분들의 간단한 프로필과 개인 블로그를 살펴 보니 평일 오후 시간을 제법 즐겁게 보낼 수 있을 것 같다는 생각이 들어 사전등록도 하고, 이렇게 소식도 전해 드립니다.
라벨:
웹퍼블리셔,
웹표준,
IE,
IE8,
Internet Explorer 8,
ms,
UI개발이야기,
UI개발자,
Web Standards
2008년 3월 5일 수요일
ie8 beta1 짧은 웹서핑 결과
ie8 beta1을 설치한후 잠깐동안 웹서핑을 해봤습니다. 아무런 설정변경없이 최초 설치된 상태로 돌아다닌 결과입니다. 대체로 크게 깨져 보이는 사이트는 없었지만 국민은행 등 일부 금융 사이트는 홈페이지 접속후 서브페이지로의 이동이 불가능했고, 지마켓과 같은 쇼핑몰 사이트는 대체로 잘 보이지만 옥션의 경우 우측 컨텐츠 영역이 벌어져서 보이는 화면이 나타났습니다.
네이버의 검색홈은 표준화를 지킨 덕분으로 잘 보이는데 네이버 카페에 접속하면 화면과 같이 내용이 아예 사라져서 보이지 않습니다. 캡쳐는 못했지만 다음의 경우 검색홈부터 부분부분 네이버에 비해 심하게 깨어지는것도 볼 수 있습니다.
제가 사용하는 티스토리의 경우는 스킨마다 약간의 틀어짐이 있어 보이지만 대체로 잘 보입니다. 그런데 관리자 화면 로그인 화면에서 화면과 같이 깨져보임과 동시에 로그인이 클릭되지 않았습니다.
역시 제가 자주 사용하는 미투데이도 정상적인 화면을 보이고 있으나, 글작성후 바로 브라우저가 뻗어버리는 문제가 있었습니다. 2,3차례 반복해 봤는데 역시나 뻗더군요. 다행히 재실행후 미투를 가보면 작성된 글은 정상적으로 올라와 있는것을 확인했습니다.

일단은 업무때문에 다시 ie6으로 돌아와야 했고, ie8에 대한 테스트를 많이 해보지는 못했지만 한시간 정도 동안 설치와 서핑 언인스톨을 해봤습니다. 일단은 베타1 버전인 관계로 브라우저가 다운되는 현상이 드믄드믄 일어났는데 화면 자체가 심각하게 깨지는 것은 별로 보지 못했습니다. 하지만 제가 작업했던 사이트 하나가 깨져 보이는 것을 보니 가슴이 무척이나 쓰리더군요. 여하튼 ie8의 베타가 공개되었으니 여러가지 논란과 새로운 꼼수들이 터져 나올것 같군요. 기대반 걱정반입니다.
일단은 업무때문에 다시 ie6으로 돌아와야 했고, ie8에 대한 테스트를 많이 해보지는 못했지만 한시간 정도 동안 설치와 서핑 언인스톨을 해봤습니다. 일단은 베타1 버전인 관계로 브라우저가 다운되는 현상이 드믄드믄 일어났는데 화면 자체가 심각하게 깨지는 것은 별로 보지 못했습니다. 하지만 제가 작업했던 사이트 하나가 깨져 보이는 것을 보니 가슴이 무척이나 쓰리더군요. 여하튼 ie8의 베타가 공개되었으니 여러가지 논란과 새로운 꼼수들이 터져 나올것 같군요. 기대반 걱정반입니다.
2007년 12월 12일 수요일
대선과 브라우저
며칠 뒤면 대한민국의 대통령이 바뀐다. 각각의 기호 번호를 달고 정동영, 이명박, 문국현, 이회창... 등 쟁쟁하다 하면 쟁쟁한 고만고만하다고 까대면 뽑아줄 후보 하나 없는 이번 선거. 아직도 마음은 갈피를 못 잡고 있다.
나는 웹퍼블리셔다. 고로 회사에서 온종일 html문서를 설계하고, 스타일을 정의하고, 스크립트를 구현한다. 그리고 인터넷 익스플로어 6과 7, 파이어폭스, 사파리, 오페라 등 온갖 브라우저들을 돌아가며 제대로 만들어 졌는지를 확인한다. 이런 작업을 한참 하다보니 문득 헷갈리기 시작했다. IE가 이명박 후보같고, FF가 정동영 후보같고, 사파리가 문국현 후보로 보이고... 물론 딱히 브라우저와 각 후보를 연결짓는게 무리가 있겠지만 재밌지 않은가
그 옛날(?) 넷스케이프가 최고였을때가 있었고, 최근에 와서 MS에게 밀려 2인자가 되었다가 이젠 자식과도 같은 파이어폭스에게마저도 밀려 그저 명맥만을 유지하고 있는 것이 꼭 민주당의 이인제 같고, 한결같은 철학으로 멋진 디자인과 유저를 먼저 생각하는 애플의 사파리는 문국현을 닮았다. 애플이 전통의 기업이고 문국현이 CEO출신이라는 것 역시 닮은 모습을 보여주지 않은가. 온갖 비표준과 버그들로 욕을 먹고 있으면서도 부동의 1위를 지키고 있는 MS의 IE는 한나라당의 이명박을 닮았고, 민주당(넷스케이프)으로부터 열린우리당(모질라 파운데이션)을 만들었던 정동영은 어찌 파이어폭스같다. (물론 지금은 다시 신당을 만들었지만) 파이어폭스가 웹표준을 준수하고 웹2.0을 이끌어 가는 선두 브라우저가 되어가고 있는 현실에 비추어 정동영이 그렇다고 단정지을수는 없겠지만 나름의 시선으로 볼적에 그래도 정동영은 이명박처럼 지나치게 치우친 감은 없고, 여타 후보보다는 확실히 앞서가는 지지기반도 가지고 있지 않은가. 파폭 역시 완벽한 브라우저가 아닌것도, 정동영이 이명박 후보만큼은 아닐지라도 아주 깨끗한 후보는 아닌것처럼. 고로코롬 닮아 보이는것은 아주 착각은 아닐거라 생각해 본다.
뭐- 어디까지나 일하다 언듯 떠오른 잡생각을 글로 남긴 것인데. 읽는 분들이 오해가 없기를 바랍니다.
개인적으로 특정 후보를 확실하게 지지하고 있는 상황도 아니거니와 MS의 IE를 이명박 후보와 동일화 시켜 매도할 마음도 없다. 더불어 정동영 후보를 파폭과 매치시켜 우상화 시켜볼 마음도 없음을 알아주셨으면 합니다.
그저 그냥 재미로 읽어주시길 바랍니다.
나는 웹퍼블리셔다. 고로 회사에서 온종일 html문서를 설계하고, 스타일을 정의하고, 스크립트를 구현한다. 그리고 인터넷 익스플로어 6과 7, 파이어폭스, 사파리, 오페라 등 온갖 브라우저들을 돌아가며 제대로 만들어 졌는지를 확인한다. 이런 작업을 한참 하다보니 문득 헷갈리기 시작했다. IE가 이명박 후보같고, FF가 정동영 후보같고, 사파리가 문국현 후보로 보이고... 물론 딱히 브라우저와 각 후보를 연결짓는게 무리가 있겠지만 재밌지 않은가
그 옛날(?) 넷스케이프가 최고였을때가 있었고, 최근에 와서 MS에게 밀려 2인자가 되었다가 이젠 자식과도 같은 파이어폭스에게마저도 밀려 그저 명맥만을 유지하고 있는 것이 꼭 민주당의 이인제 같고, 한결같은 철학으로 멋진 디자인과 유저를 먼저 생각하는 애플의 사파리는 문국현을 닮았다. 애플이 전통의 기업이고 문국현이 CEO출신이라는 것 역시 닮은 모습을 보여주지 않은가. 온갖 비표준과 버그들로 욕을 먹고 있으면서도 부동의 1위를 지키고 있는 MS의 IE는 한나라당의 이명박을 닮았고, 민주당(넷스케이프)으로부터 열린우리당(모질라 파운데이션)을 만들었던 정동영은 어찌 파이어폭스같다. (물론 지금은 다시 신당을 만들었지만) 파이어폭스가 웹표준을 준수하고 웹2.0을 이끌어 가는 선두 브라우저가 되어가고 있는 현실에 비추어 정동영이 그렇다고 단정지을수는 없겠지만 나름의 시선으로 볼적에 그래도 정동영은 이명박처럼 지나치게 치우친 감은 없고, 여타 후보보다는 확실히 앞서가는 지지기반도 가지고 있지 않은가. 파폭 역시 완벽한 브라우저가 아닌것도, 정동영이 이명박 후보만큼은 아닐지라도 아주 깨끗한 후보는 아닌것처럼. 고로코롬 닮아 보이는것은 아주 착각은 아닐거라 생각해 본다.
뭐- 어디까지나 일하다 언듯 떠오른 잡생각을 글로 남긴 것인데. 읽는 분들이 오해가 없기를 바랍니다.
개인적으로 특정 후보를 확실하게 지지하고 있는 상황도 아니거니와 MS의 IE를 이명박 후보와 동일화 시켜 매도할 마음도 없다. 더불어 정동영 후보를 파폭과 매치시켜 우상화 시켜볼 마음도 없음을 알아주셨으면 합니다.
그저 그냥 재미로 읽어주시길 바랍니다.
피드 구독하기:
글 (Atom)