html5 를 주욱 읽다가 copy&paste 로 노트에 남겨두었던 div 에 대한 부분이다. 사실 오랫동안 table 디자인으로 익숙해지셨던 분들에게 일모리를 포함하여 table 디자인 대체 요소로 보고 있지만 사실 그 이상이기도 하면서 그렇지도 않다. 쏟아지는 nested div 들 앞에 무너지는 많은 퍼블리셔들 개발자들을 보며 gg! 그리고 <! — 와 –> 랑 절친을 맺으시길 이라는 말 밖에는…
Div 엘리먼트는 특별한 의미가 전혀 없다. 자식 엘리먼트를 나타낸다. 이어지는(연속적인) 엘리먼트 그룹에 일반적인 의미를 마크업 하기위해 class, lang/xml:lang 그리고 title 속성과 함께 사용될수 있다.
The div element has no special meaning at all. It represents its children. It can be used with the class, lang/xml:lang, and title attributes to mark up semantics common to a group of consecutive elements. - W3C
div 엘리먼트에 phrasing content 을 담을 수 있도록 허락함으로써 저자들이 class=”" 속성 사용에서 부터 마크업 안에 다른 어떤 엘리먼트를 넣지 않는등 div 를 남용하기 쉽도록 되어있다. 접근성의 시각으로 볼때 이것은 악몽[1] 이며 그러한 페이지들을 표준이 아님을(non-compliant) 알리는 식으로 하되 스팩이 따로 지원하지 않는 한 지금 상태의 메카니즘대로 사용되는걸 제한하지는 않도록 하면 좋을꺼 같다.
Allowing div elements to contain phrasing content makes it easy for authors to abuse div, using it with the class=”" attribute to the point of not having any other elements in the markup. This is a disaster from an accessibility point of view, and it would be nice if we could somehow make such pages non-compliant without preventing people from using divs as the extension mechanism that they are, to handle things the spec can’t otherwise do (like making new widgets). - W3C
그러고 보니 Table 의 악용 그리고 남용에 대해 글을 쓴지가 어제 같은데 이제는 div 남용에 대한 글들을 여기 저기서 볼 수 있다. 사실 불완전한 HTML 내에서 시멘틱 마크업을 최대한 살리면서 디자이너들이 표현하려다 보니 남용아닌 남용이 표출될 수 밖에 없다. 단순한 division 을 나타내며 문서를 자르는 것 뿐만이 아니라 이것 위에 프레젠테이션을 씌워야 하는 고통은 이미 많은 퍼블리셔들과 개발자들이 경험한 고통이다 (물론 nested div 도). html5 에서 header, footer, article, section, aside 등이 어느정도 해결을 해준다고 하지만 그 또한 ‘바로 이거야!’ 라는 뇌리를 치는 해결책은 아니다. 물론 어느정도의 시멘틱적인 요소를 첨가함으로써 문서 자체에 의미를 주지만 그것을 더욱 의미 있게 나누려다 보니… 사실 더 머리가 아파온다. 오해는 없으시길. 대환영 그리고 대환영이다. 숨통이 트여지는 기분.
물론 아직 밖은 흐리다.
Phrasing content 는 문서의 text(문자, 본문)들과 그 text 들을 마크업 하는 문단내(intra-paragraph) 엘리먼트들 까지도 포함한다. phrasing content 의 모음이 문단을 형성한다.
Phrasing content is the text of the document, as well as elements that mark up that text at the intra-paragraph level. Runs of phrasing content form paragraphs. - W3C
P.S. 사이트에 간단히 JS 로 HTML5 분위기를 IE 에서도 낼 수 있다는 장점을 사용해서 일몰.com에 몇안되는 요소들을 첨부 해보았다. 전에 어느분의 포스팅에서도 본거 같은데, DOCTYPE html PUBLIC “-//W3C//DTD XHTML Basic 1.0//EN” “http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd” 이거… 외우기 힘들다… <!DOCTYPE html> 얼마나 좋나…
P.P.S 몇일간 사이트 업데이트를 할 예정.
- disaster 재앙이라는 표현은 한국에선 최악의 상황으로 표현될 뿐더러 잘 사용되지 않는다. [↩]


아크몬드
June 5th, 2009 at 8:37 am
한때 Table 태그는 악이고 Div 태그는 선이라는 생각이 다분했던 시절이 떠오르네요..
요즘에는 정말 “gg! 그리고 랑 절친을 맺으시길 이라는 말 밖에는…” 할 수 없는 것 같습니다.. 그 엄청난 div 태그의 중복이란.
[Reply]
June 5, 2009 1:34 pm
gg 치며 박카스 한잔…
요즘 윈7때매 아크님 바쁘시겠군요
아주 맘에 들더군요. ie8도 깜끔하고.
June 6, 2009 3:58 pm
넵.. 요즘 W7 덕분에 쉴 날이 없습니다..ㅋㅋ
글 많이 써주세요..
성민장군
June 5th, 2009 at 10:00 am
와우~ 오랜만이네요. ㅋㅋ
사이트도 디자인이 바뀌고 좋은데요…
저도 몇일전에 3년만에 개편했어요 ㅋㅋ
내용은 이제 자주 올리려구요. 결심!
(개편중에 트랙백이 이리저리 날아간듯하더라구요. 6월 3일에 날아간건 다 지워주세요. T.T)
안그래도 div에 관한 글을 쓰다만 것이 있는데, 제 생각을 정리하는 글을 완료할까하는 생각이 드네요.
div를 의미를 가진 요소로 활용하는 수많은 실수들을 볼때면 안타깝고 그렇습니다.
어쨌든 다시 시작하시는거 정말 축하드리고, 또 감사합니다 ^^
[Reply]
June 5, 2009 1:21 pm
감사합니다. 아직 통채로 개편될부분이 많아요 :)
곧 업글을.. 글 기대할께요
fellen's me2DAY
June 5th, 2009 at 11:25 am
FeLLEN의 생각…
HTML5 에서 DIV.하긴 TABLE을 쓰지 않고 DIV+CSS로 코딩을 하다보니 뭔가 DIV를 남용하게 되는 경우가 많았다. 좀 더 의미와 목적에 맞는 코딩을 하도록 능력부터 키워야겠다. 그나저나 내년이면 HTML5…
열산성
June 5th, 2009 at 12:41 pm
table 코딩이 왜 나쁜거죠? TT.TT
[Reply]
June 5, 2009 12:59 pm
테이블은 ‘표’를 만들기 위한 용도로 사용한다면 너무나도 좋은 사용입니다.
다만 사이트 디자인을 위한 ‘틀’로써 사용하면 바르지 않다는 것이죠 :)
min
June 5th, 2009 at 7:38 pm
미남이신데다 살아계셨군요. :D
저어~~~ 밑에 내려놓은 일모리네를 위로 올려 놓아야겠습니다.
반가워요 :)
[Reply]
June 5, 2009 9:35 pm
미남은 모르겠고 일모리네가 살아난건 맞습니다
어서오세요
정찬명
June 5th, 2009 at 11:35 pm
부활하신것 축하드립니다. 벌써 HTML5라니 확실히 앞서 가시는군요. ^^;
[Reply]
June 5, 2009 11:43 pm
어쩌다보니 몇몇 html5 엘리먼트를 사용하게 됬습니다.
어서오세요 주옥같은 글들 잘 읽고 있습니다. ^^
Jay G.
June 6th, 2009 at 8:15 pm
오랜만의 글 반갑습니다! :)
HTML이 문서의 구조를 위한 언어라는 점을 생각할때, 디자인을 위한 불필요한 <div>는 자제해야 겠지요. 하지만 문서의 구조가 디자인의 구조와 항상 일치하는 것은 아니라 아직 고민할 부분이 많아 보입니다.
[Reply]
nuzl
June 7th, 2009 at 5:20 am
음 그건 div 와 table 에 대한 ‘이해’ 도 큰듯 합니다
어느 게시판을 보니 게시물 리스트를 table 을 이용하지않고 그냥 div 를 사용 한곳이 있더군요 table 을 사용 했다면 좀더 슬림한 소스로 구현 가능 했을텐데 말이죠
(어쩌면 웹2.0 따라 가느라고 미처 생각 못한건지도)
[Reply]
withstory.net
July 6th, 2009 at 2:59 pm
이제 대충 끝,,, valid html5…
소식을 보신 분들은 알겠지만
000webhost.com 에서 갑자기 제 블로그 계정을 삭제해버리면서
3개월간의 자료가 홀땅 사라져버렸다
wordpress 2.8 로 업그레이드를 하면서 자료 백업을 해두었다면
그…