https://connecto-wow.netlify.app/
- 고정형 홈페이지인 네이버 영상 플랫폼 '네이버 나우'
- 의도적으로 앱 설치를 유도하기 위해서 데스크탑에서는 한정된 컨텐츠만 제공하여 UX의 만족도가 떨어진다고 생각하여, 반응형 홈페이지로 만들었습니다
- 따라서 하나의 HTML 파일로 viewport 크기에 따라 레이아웃이 변하는 것을 확인할 수 있습니다.
팀원: 이재린, 박선우, 장현우 공통업무: 컴포넌트 믹스인 제작, 믹스인에 사용할 Scss 함수 제작
- 이재린: 채널 페이지, 메인페이지 레이아웃,
- 박선우: 마이 페이지, 메인 index 페이지
- 장현우: 메인 캐러셀 영역, 팔로잉 페이지, 검색 API 연동
- Code ManageMent: Prettier, ES Lint를 사용하여 코딩 컨벤션을 유지하였습니다.
- Design: Figma를 이용하여 프로젝트 페이지의 컴포넌트를 제작하였습니다.
- Communication: Slack, GoogleMeet를 사용하여 팀원들과 의사소통을 하였고, Notion을 통해 일정관리를 하였습니다.
- 마크업, Scss 사용 시 BEM 컨벤션을 사용하였습니다.
- Scss 폴더 구조는 아래와 같습니다.
https://jazzy-sneezeweed-14f.notion.site/convention-077c20ecc19f46f6a823ff5cbb0d42f3
프로젝트 작업 전 접근성을 고려한 WOW를 만들기 위해 중점적으로 고려해야할 사항에 대해서 정리하였습니다.
- 시멘틱 마크업
- WAI-aria 사용
- 스크립트를 사용한 키보드 화살표로 제어 가능
- 스크린리더를 사용하는 사용자들도 인식 가능한 캐러셀 제작
- 별점 평가 키보드 제어
- 섹셔닝 컨텐츠와 섹셔닝 루트를 준수하여 마크업하였습니다.
- a11yHidden 클래스를 사용하여 IR기법으로 숨김 컨텐츠 처리를 해주었습니다.
- aria-label 속성에 값을 사용하여 버튼, 비디오와 같은 요소에 부가적인 정보를 제공하였습니다.
<button
type="button"
aria-controls="lineupTabpanel"
aria-live="polite"
aria-label="일요일 쇼라인업 보기"
id="sunday"
aria-selected="false"
>
일
</button>
자바스크립트를 사용하여 목록이 나열되어 있는 요소들은 화살표 키로 제어 가능하도록 구현하였습니다.
- controlArrokey.js을 클릭하면 키보드 제어 스크립트를 확인할 수 있습니다.
기존 네이버 NOW에는 없던 기능으로, 3D 캐러샐을 구현하였습니다.
- WAI-aria를 사용하여 스크린리더 사용자도 캐러샐에 대한 내용을 인식가능하도록 만들었습니다.
- carousel.js을 클릭하면 캐러셀 구현 스크립트를 확인할 수 있습니다.
기존 네이버 NOW에는 없던 기능으로, 별점 평가 기능을 추가하였습니다.
- 자바스크립트를 사용하여 접근한 상태의 별을 스페이스바로 눌렀을 때, 점수가 추가되는 기능을 구현하였습니다.
- starRating.js을 클릭하면 별점 평가 구현 스크립트를 확인할 수 있습니다.