2008년 1월 20일 일요일

<b>와 <strong>의 차이

HTML문서를 작성할 때 가장 많이 표현하게 되는 양식이 글자를 굵게하는 것입니다. 그리고 이 문제를 해결하기 위해서 <b> 앨리먼트를 너무나 당연하게, 그리고 쉽게 사용합니다. 하지만 웹접근성을 높이고자 한다면, 웹표준을 이해하고 준수하고자 한다면 <b>앨리먼트보다는 <strong>앨리먼트가 좋습니다.

<strong>앨리먼트는 의미적으로 강조를 가리킵니다. 반면에 <b>앨리먼트는 글자를 단순히 굵게 표시하여 표현하는데 목적을 둡니다. 표현상으로 두 앨리먼트의 차이는 없지만, 스크린리더와 같이 앨리먼트 의미를 해석해서 내용을 읽어주는 경우 <strong>앨리먼트가 적용된 텍스트를 강조해서 읽어줄 수 있습니다.

더불어 강조된 글자 표현을 위해서 스타일을 이용하는 경우가 많은데, 이럴 경우 스크린리더에서는 display, visibility등 몇몇 경우를 제외하고는 스타일을 참조하지 않으므로(신현석님 도움말씀) 강조의 의미를 살릴수가 없는것 같습니다. 특별히 의미를 고려해서 텍스트를 강조해야만 한다면 <strong>앨리먼트를 이용하는 것이 좋을것 같습니다. 그런데 <b> 앨리먼트를 <strong>앨리먼트로 교체해야한다는 논리 때문에 무수하게 많이 사용된 모든 <b>앨리먼트를 <strong>앨리먼트로 바꾼다면 오히려 문제가 생기지 않을까 싶습니다. 첫째로 글자수가 늘어나 시간이 늘고, 용량이 늘어나게 됩니다. 둘째로 습관적인 굵은 글씨가 모두 의미적으로 "강조"였는가 하는 것입니다. 무분별하게 <strong>앨리먼트를 사용한다면 정말로 중요한 것과 우선순위를 낮출수 있는 것들과의 구분이 모호해질 수 있게 됩니다. 따라서, <b>와 <strong>앨리먼트를 사용할 곳을 잘 판단하여야 할 것이고, <strong>과 같이 강조 의미를 가지고 있는 <em>앨리먼트를 지정한 후에 스타일을 이용해서 기본 스타일속성을 없애고, <strong>과 같이 굴게 표시(이 경우 본래의 em 속성을 사용할 일이 없어야 한다)하는 스타일을 지정해볼수도 있을것 같습니다.


댓글 없음:

댓글 쓰기