코드스테이츠 semantic HTML, 웹 접근성 과제
이렇게 div를 많이 쓰는 것보다는 의미있는 semantic요소를 넣는게 좋다.
위 처럼 semantic요소를 넣어준다.h1과 p (문단Paragraph)같은 것도 semantic요소이다.
위와 같이 틀린 것을
이것처럼 바꿔줍니다.
여기서 틀린부분을 styled components로 바꿀 수 있다.
=> CSS를 컴포넌트화 시킴으로써 해결해 주는 라이브러리, CSS in JS 라이브러리를 사용해서 js파일 안에서 컴포넌트 단위로 개발할 수 있게 된다.
간단하게 방법을 정리하면 설치하고
npm install --save styled-components
사용할 파일로 불러오면 된다.
import styled from "styled-components"
컴포넌트를 선언하고 styled.태그종류를 할당하고, 백틱안에 css작성하던 것 처럼 해주면 된다.
그다음 만든 컴포넌트를 리액트 컴포넌트 사용하듯이 리턴문 안에 작성한다!
제목요소로 글씨크기를 조정하는 것이 아니라 css로 조정해야 한다.
위 처럼 styled components를 사용해서 넣고 싶은 곳에 컴포넌트를 넣을 것이다.
컴포넌트를 넣어주고 size 값이 있으면 그 값으로 아니면 1rem으로 사이즈가 설정된다.
이것도 css속성을 넣어서 간격을 준다.
위와 같이 컴포넌트를 만들고
이렇게 컴포넌트를 넣어준다. <br> 태그는 줄바꿈이다.
styled components를 사용하면 위의 동그라미 친 부분처럼 임의의 이름이 붙여져서 class, id 이름을 짓느라 고민할 필요가 없다.
alt 를 주지 않으면 Screen Reader에서 이미지라고 읽어주지만 alt = "" 처럼 빈문자열을 줄시 아무것도 읽어주지 않아 이미지 인지 모를 수가 있다. 또한 이미지를 충분히 설명해주는 인접 요소가 있다면 대체 텍스트로 빈 문자열을 작성하는 것이 좋다. 웹 접근성을 위해서는 텍스트가 아닌 콘텐츠를 제공할 땐 alt 속성을 주는 것이 좋다.
<WAI-ARIA>
시맨틱 요소만으로 의미를 충분히 부여할 수 없는 상황에 WAI-ARIA를 사용하면 HTML 요소에 추가적인 의미를 부여하여 더 원활하게 페이지를 탐색 할 수 있게 도와준다.
WAI-ARIA는 시맨틱 요소로 충분할 땐 사용하지 않고 보조적인 역할로만 사용한다. 즉 시맨티한 HTML을 작성하는 것이 최우선이다.
- WAI-ARIA의 역할 속성은 해당 요소가 어떤 역할을 하는지 명시해줍니다.
=> 예) role="button", role="section", role="h1", ...
- 요소에 대한 정보를 전혀 알 수 없는 경우, 속성(property) 값을 주어 요소를 설명해줄 수 있습니다.
=>예) aria-label="검색 버튼", aria-label="닫기 버튼", aria-label="뒤로 가기", ...
이렇게 하면 추가적으로 스크린리더가 읽어준다.