HTML이 엄격하지 않게 설계됐기 때문에 널리 사용되고 인기를 끈 것이라고 주장하는 사람들도 있다. 웹 브라우저가 유효하지 않은 HTML을 받아들이지 않고 늘 에러를 일으켰다면 사람들은 HTML을 쓰지 않았을 거라고 말이다.
말도 안 되는 주장이다. 종업원이 “저희 가게에는 없는 메뉴예요.”라는 말을 절대 할 수 없는 식당에 비유하면 이해하기 쉽다. 이 식당은 손님이 ‘신선한 치킨 샐러드’를 주문하면 ‘이 식당에서 주문하신 메뉴에 가장 가까운 메뉴’라며 생닭을 내온다. 이처럼 내가 뭔가 하라고 시켰는데 웹 브라우저가 에러를 내는 대신 내 의도를 추측하는 데만 열중한다면 얼마나 답답할지 상상해보라. 그리고 웹 페이지가 ‘제대로 나타나지 않는 이유’를 사용자가 알아내기란 꽤 어렵다.
왜 브라우저는 사용자가 무엇을 잘못했는지 그냥 편하게 알려주지 않을까? 사실 HTML은 엄격하지 않아서 사용자가 무엇을 잘못했는지 잘 모르기 때문이다! 그래서 손님 앞에 양상추도 없이 생닭을 떨어뜨려놓고 가는 것이다.
맞다. 나도 이제 와서 ‘웹을 망가뜨리지’ 않고 HTML을 엄격하게 만들 수 있다고 생각하는 건 아니다. 하지만 HTML이 애초에 엄격하지 않았기 때문에 이런 사달이 났다는 점을 지적하고 싶다. 당장 엄격해져야 한다는 말이 아니다. 당장 그렇게 바꾼다는 건 불가능에 가까운 일이기 때문이다. (그런 방향으로 점진적으로 진화해나가는 건 좋다.)