2008년 3월 9일 일요일

IE8 : ACID2만 통과하면 표준을 잘 준수하는 것인가?

제 블로그의 헤더는 원래 복잡한 <table> 태그로 구성되어 있었습니다.
<div><table>이나 아무거나로 만들기만 하면 된다는 매너리즘으로 중무장해서 만든 결과물이었습니다.
(다들 아시다시피, 현재의 웹은 <table>으로  레이아웃을 잡지 않는 것을 권고하고 있습니다)

물론, IE6/7이나 Firefox은 물론, Opera나 Safari까지의 모든 브라우저들에서 정상적으로 출력되었습니다.

그러다가, 이번에 Internet Explorer 8 beta 1이 나온 것을 보고 돌려봤더니… 제 블로그 헤더가 무참하게 깨져서 나오더군요.


아직 베타버전인 브라우저이기는 하지만, 언젠가는 <table><div>로 바꿀 생각을 했기 때문에 좋은 기회라고 생각하고, 몽땅 바꿨습니다.
덕분에 복잡하게 구성되어 일부 브라우저에서는 늦게 떴던 헤더가 깔끔하게 빨리 뜨도록 바뀌었습니다.

각 브라우저들에서 일일이 띄워본 결과 아무런 문제 없이 뜨는 것을 확인했습니다. IE8만 빼고 말이죠…



이렇게 깨지는 것이 왜 문제가 되냐면…

  1. 제가 사용한 태그는 아주 평범한 <div> 태그입니다.
    <table> 태그를 사용하지 않고, <div>를 사용하는 것이 현재 웹 표준과 IE8의 권고사항인데, 정작 <div>를 제대로 해석하지 못하고 있습니다.
    저는 헤더 전체를 <div position:relative;>로 지정하고, 세부적인 구성을 <div position:absolute;>로 지정해서 배치했습니다.
    #header { position: relative; float: left; width: 938px; height: 154px;}
    #hdrimgban { position: absolute; left:4px; top:22px; width:176px; height:120px;}
    #hdrimgm1 { position: absolute; left:188px; top:98px; width:64px; height:12px;}
    이런 식으로 말이죠. 이걸 제대로 출력하지 못한다니요…

  2. MS는 IE8이 ACID2 테스트를 통과했다고 대대적으로 광고했습니다.
    ACID2 테스트의 중요한 요소 중 하나는 복잡한 <div> 태그를 잘 해석하는가 하는 점입니다.

즉, 그렇게도 <div>를 잘 지원한다고 광고하는 브라우저가 기본적인 <div>를 제대로 렌더링하지 못한다는 것이 말이 안 되는 것입니다.

하지만 여전히 ACID2 테스트는 잘 통과하고 있습니다.
(뭐, 다른 ACID2 테스트를 통과하지 못한다는 문제가 있지만 말이죠…)

얼마전 nVidia에서, 또 예전에는 ATi에서 특정 프로그램에서만 빠르게 동작하는 척하는 드라이버를 출시한 것이 문제가 된 적이 있었습니다. ATi는 심지어 실행파일명을 바꾸면 느리게 동작하는 촌극도 보였더랬죠.

지금 IE8의 행보가 꼭 그 때의 비디오 카드/드라이버 벤더들의 행보와 비슷해보입니다.

계속 브라우저 점유율을 빼앗기고 있고, 표준에 대해서는 항상 말이 많은 MS가 이번에 뭔가 대형 사기극을 펼치고 있는 것이 아닌가하는 우려가 듭니다.

또 아래와 같은 엉터리 HTML의 세상을 만들기 위해 뭔가 음모를 꾸미는 것은 아닐까요?
<html
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:myns="http://internet.com/namespaces/smarttags">
<o:SmartTagType
name="customer"
namespaceuri="urn:schemas-fourth-coffee:contact"
downloadurl="http://www.fourthcoffee.com/download.asp">
</o:SmartTagType>
제발 정식버전에서는 이런 황당한 일이 없기를 빌어봅니다



댓글 2개:

  1. ms를 옹호한다던가 그런 것은 아니지만...

    CSS2.1에는 원래 특정 속성 안에는 쓰지 못하는 속성들이 몇가지 있습니다. 그것 외에도 별도로 IE8의 표준 렌더링 엔진이 아직 안정화 안된 것도 분명 이유중에 하나구요.

    MS가 처음 IE8에서 acid2테스트를 통과했다고 발표했을때 의혹 중 하나가 acid2에만 특정하게 제대로 렌더링하도록 에뮬레이션하는게 아닌가 하는 의혹을 가장 많이 받았습니다.

    설마 MS가 그런거 모를 바보같은 사람들도 아니라고 생각됩니다. 아무튼 베타2와 정식버전을 기대해봅니다.

    답글삭제
  2. @아마티 - 2008/03/10 10:57
    MS에 대한 저의 가장 큰 우려는 그들이 바보가 아니라는 점입니다.

    실수였고, 개선할 의지가 있다면 기다리면 될 문제겠지만, 의도적일까봐 걱정이 됩니다.

    이제 겨우 beta1 나온 S/W보고 꼬치꼬치 따지는 것이 시기상조이기는 하지만 말이죠...

    답글삭제