핵심 요약
- 1995년 HTML2 표준에서 시작된 <input> 태그가 지닌 기괴한 동작 방식과 역사적 모순들을 개발자가 정리했습니다.
- 브라우저마다 제각각인 기본 텍스트와 스타일, 텍스트에어리어와의 비일관성 등 20년 넘게 이어진 파편화 문제를 꼬집었습니다.
- HTML5에서 수많은 타입이 추가되었으나 여전히 브라우저별 지원 격차와 스타일링의 난해함이 개발자들을 괴롭히고 있다고 지적합니다.
요약 1995년 HTML2 표준 시절부터 도입되어 20년 넘게 웹 개발자들을 괴롭혀 온 '<input>' 태그의 기괴한 역사와 파편화에 대한 한 개발자의 유쾌한 고발글입니다.
글쓴이는 1995년 넷스케이프와 모자익, IE1이 경쟁하던 시절 8가지 기본 타입(text, password, checkbox, radio, image, hidden, submit, reset)과 파일 첨부 기능으로 시작된 input 태그의 태생적 모순을 지적합니다. 대표적으로 '<input type="image">'는 겉보기엔 단순한 이미지 같지만 클릭한 좌표(x, y)를 전송하는 이미지 버튼 역할을 하며, src 속성을 누락할 경우 크롬에서는 'Submit', 파이어폭스에서는 'Submit Query', IE에서는 아무 글자도 안 나오는 등 브라우저마다 제각각 작동했습니다. 또한 파일을 올리지 않았을 때 뜨는 안내 문구마저 크롬은 'No file chosen', 사파리와 파이어폭스는 'No file selected', IE는 빈 텍스트 상자로 출력되는 등 표준화와는 거리가 멀었습니다.
비슷하게 텍스트를 입력받는 '<textarea>'와의 기형적인 차이점도 조명했습니다. 둘 다 같은 시기(HTML2)에 나왔음에도 input은 닫는 태그 없이 value 속성을 쓰고, textarea는 줄바꿈 지원을 이유로 닫는 태그를 두고 그 사이에 내용을 넣도록 설계되었습니다. 게다가 기본 스타일조차 일관되지 않아, 아무런 커스텀 스타일 없이 같은 라인에 버튼 타입 input 태그들을 배치해도 높낮이가 맞지 않는 현상이 발생합니다.
이후 2011년 HTML5에서 컬러, 날짜, 시간 등 수많은 신규 input 타입들이 쏟아져 나왔지만, 브라우저별 미지원과 불완전한 구현으로 인해 파편화는 더욱 심해졌습니다. 특히 '<input type="search">'의 경우 브라우저마다 제멋대로 들어간 패딩과 테두리, 지우기 힘든 둥근 모서리 등으로 개발자들의 원성을 사고 있다며, 90년대 유산이 쌓여 괴물이 되어버린 웹 표준의 현실을 꼬집었습니다.
Sponsored · 광고