IE 설계 변경에 따른 영향
IE 설계 변경에 따라서 달라지는 것은 무엇일까? 웹 페이지 내에서 'object', 'applet', 'embed' 태그에 의해 로드된 액티브 X, 자바 애플릿, 멀티미디어 파일의 경우, 사용자가 이를 클릭해서 명시적으로 활성화(Activation)시키기 전까지는 임베딩된 개체에 사용자가 직접 상호작용(Interaction)하는 것이 불가능하며, 상호작용과 관련된 DHTML 이벤트도 사용이 불가능하다는 것이다.

이번 패치의 영향을 받는 대상은 웹 페이지 내에 'object', 'applet', 'embed' 태그를 사용해서 지정되고, 눈에 보이는 UI를 가지며, 사용자가 마우스나 키보드 입력을 통해 이벤트를 처리하는 상호작용 컨트롤에만 해당된다.

상호작용 컨트롤의 예는 미디어 플레이어, 애플의 퀵타임 플레이어, 매크로미디어의 플래시 등이 있다. UI를 가지지 않는 비상호작용 컨트롤이나 외부 스크립트를 통해 로딩된 상호작용 컨트롤에는 아무런 영향이 없다.

인터넷 뱅킹 시스템의 경우, UI가 없는 키 로깅 방지 컨트롤은 영향이 없으며, 공인 인증서도 UI가 웹 페이지 내에 임베딩된 것이 아니라 별도의 다이얼로그 창으로 나오기 때문에 영향을 받지 않는다.

아래 그림은 웹 페이지에 'object' 태그나 'embed' 태그를 사용해서 미디어 플레이어 액티브 X를 구동해 동영상 콘텐츠를 재생하고 있는 모습이다. 활성화되지 않은 상호작용 컨트롤은 마우스나 키보드 이벤트 등의 사용자 입력에 반응하지 않는다. 마우스 커서를 올려놓았을 때 컨트롤 주위에 점선 테두리가 나타나며, 그림과 같은 풍선 도움말이 나타난다.

컨 트롤을 활성화하려면 마우스로 해당 컨트롤을 클릭하거나 탭 키로 포커스를 이동한 후 스페이스 바나 엔터 키를 누르면 된다. F5 키를 눌러서 페이지를 갱신했을 경우 컨트롤이 다시 비활성화되며, 페이지 내에 컨트롤이 여러 개 있는 경우에는 각각을 활성화해야 한다는 것에 주의해야 한다.

혼동해서는 안 될 것은 상호작용이 불가능하다는 것이지, 임베딩한 개체가 아예 로드되지도 않고 작동하지도 않는다는 것은 아니다. 즉, 위의 예에서 동영상 콘텐츠 자체가 아예 재생되지 않는 것은 아니다. 다만, 동영상을 멈추기 위해서 정지 버튼을 누르려면(즉 상호작용을 하려면) 컨트롤을 클릭해서 활성화시켜야 한다는 것이다.

국내 웹사이트의 파급 효과
위에서 예로 든 멀티미디어 콘텐츠(동영상, 음악) 외에 국내 사이트에서 이 패치에 대해 영향을 받는 것은 어떤 것이 있을지 몇 가지 예를 들어보자.

요즘 몇몇 사이트들에서는 사진이나 그림을 업로드하기 전에 이미지를 편집할 수 있도록, 이미지 툴 액티브 X를 제공하는 곳이 있다. 이러한 이미지 툴 컨트롤을 사용하려면, 컨트롤을 한 번 클릭해서 활성화시켜야 한다. 또한 업무용 시스템을 보면 차트, 그리드와 같은 요소를 서드파티 액티브 X 컨트롤로 사용하는 경우가 많다. 이 경우 상호작용을 하려면 화면 내의 컨트롤을 각각 활성화시켜야 한다.

액티브 X 컨트롤도 문제지만, 필자가 생각하기에 국내에서 가장 광범위하게 영향을 받을 것이라고 생각되는 것은 바로 플래시다. 국내 사이트들은 메뉴 등의 네비게이션 UI, 광고, 플래시 게임, 플래시 축하카드 등 플래시에 대한 의존도가 매우 높다. 거의 모든 UI를 플래시로 도배한 모 사이트의 경우, 화면의 대다수가 비활성화되는 현상이 발생했다(하다못해 필자 회사 홈페이지도 메뉴가 플래시로 돼 있다).

마우스를 올렸을 때 팝업 형태로 메뉴를 보여주는데, 비활성화된 상태에서는 메뉴가 전혀 나타나지 않는다. 사실 활성화를 위해 클릭 한 번 하는 것이 별로 힘든 일은 아니지만, 잘 모르는 사용자의 경우에는 상당히 당황스러울 수 있다는 생각이 든다.

이러한 사용자들의 혼란을 방지하려면 'object', 'applet', 'embed' 태그를 사용하는 페이지의 경우 수정이 불가피하다. 이를 위해 MS는 상호작용 컨트롤이 이전과 동일하게 즉시 활성화되게 하고 싶으면 외부 스크립트에 의해 상호작용 컨트롤을 로드하라고 권하고 있다.

예를 들어 다음과 같이 'embed' 태그를 사용하는 페이지가 있다고 가정하자.

<html>
<body>
<embed src="examplecontrol">
</body>
</html>

MyPage.html을 로드하면 해당 컨트롤은 비활성화된 상태가 된다. 이를 방지하려면, 다음과 같이 'embed' 태그를 write 해주는 코드를 외부 스크립트 파일(embed.js)로 작성해서 빼고, MyPage.html에서는 이 스크립트 파일을 지정하면 된다. 이렇게 하면 이전과 동일하게 이 컨트롤은 로드 후 즉시 활성화된다.

<html>
<body>
<script src="Embed.js"></script>
</body>

Embed.js
document.write(‘<embed src=”examplecontrol”>’);

액티브 X, 플래시의 남발 자제해야

이러한 준비는 언제까지 마쳐야 할까?
MS는 1차적으로 3월 1일에 이 IE 패치를 윈도우 업데이트를 통해 선택적으로 배포할 예정이다. 즉 설치를 원하는 사용자만 이 패치를 설치하면 된다. 그러나 4월부터는 보안 업데이트에 일괄 적용되므로, 보안 업데이트를 설치하면 이 패치를 함께 설치하게 된다. 그러므로 사실상 4월 전까지는 위 방법을 통해 패치에 대한 대비책을 세우는 것이 바람직하다고 생각된다.

이 패치가 궁극적으로 국내 웹사이트에 미치는 영향이 얼마나 될지는 아직 미지수다. 하지만 분명히 외국 사이트에 비해서는 상당히 파급 효과가 클 것으로 예상된다. 그 이유는 국내 사이트들이 액티브 X, 플래시 등에 대한 의존도가 매우 높으며, 많이 사용하고 있기 때문이다. 특히 해외에서 국내 사이트들에 접속해보면 새삼스레 국내 네트워크 인프라의 우수성에 놀라게 된다.

국내 웹사이트들은 윈도우 XP 서비스팩 2에서 팝업 창 차단 때문에 대대적인 수정을 하는 홍역을 치른 적이 있다. 이제 시도때도 없이 뜨는 팝업 창뿐만 아니라 여기저기에서 남발됐던 액티브 X 및 플래시에도 제재가 들어오게 된 셈이다.

이러한 소동과 후유증을 겪어야 하는 것은 이올라스나 MS에도 책임이 있겠지만 웹 기획자, 디자이너, 개발자들, 고객이 스스로 이러한 문제를 초래했다는 것을 부인하지 못할 것이다.

이번 사건 이후에 액티브 X나 플래시 사용을 자제하는 바람직한 모습으로 가는 계기가 될지, 아니면 XP 서비스팩의 팝업 창 차단 이후 레이어를 통해 팝업 창을 흉내내는 기괴망측한 꽁수가 등장했듯이, 이번 사건 역시 개발자에게 스크립트 작업만을 잔뜩 추가해주게 될지는 두고 볼 일이다.
반응형

'Information' 카테고리의 다른 글

온라인게임 지역별 선호도  (0) 2007.02.01
골치덩어리 IE 보안「액티브 X 컨트롤로 해결」  (0) 2007.01.21
Websites as Graphs  (0) 2007.01.17

+ Recent posts