여러 개의 제출 버튼을 가진 폼의 접근성에 대하여 이야기를 하였었는데 결론은 <input> 태그가 제한적이나마 사용될 수 있다는 것이었다. 좀 더 풍부한 표현이 가능한 <button> 태그가 IE에서 버그를 가지고 있는 관계로 사용할 수 없다고 하였었는데 그게 어느정도 가능할 수 있다는 결론을 얻었다.
자바스크립트를 통한 IE의 <button> 태그 버그 극복
<button> 태그가 IE에서만 문제가 되고 있고 IE는 특별한 조치 없이는 자바스크립트를 기본적으로 사용하기 때문에 자바스크립트를 통해 IE의 버그를 극복할 수 있다고 생각되었다. 그래서 찾아보니 Multiple Buttons IE Workaround라는 글이 있었다. 이 글이 제시하는 방법은 버튼을 클릭할 때 value 속성(값)을 IE의 버그로 인한 값에서 정상적인 값으로 돌려주는 것이었는데 이것은 폼의 제출 시에는 정상적으로 작동할 수 있으나 onsubmit 이벤트에서 폼 제출을 중지하는 경우 등의 상황에서 얘기치 않은 결과를 가져왔다.
IE Button Fix
그래서 위의 단점들을 해결하고 여전히 문제를 가지고 있던 IE5까지 해결한 IE Button Fix를 만들었다. 문제를 해결하면서 새로운 제약사항이 생겼는데 이는 사용시에 사용할 웹 사이트의 성격과 제약사항을 잘 파악하여 사용여부를 판단할 수 있을 것이다.
<button> 태그는 <input> 태그에 비해 많은 장점을 갖는다. IE의 버그는 그 동안 이래저래 <button> 태그의 장점을 사용할 수 없도록 제한해왔지만 IE Button Fix가 이를 어느정도 보완해줄 수 있으리라 생각한다.
코멘트 남기기