[유지민] sprint1, 2#28
Hidden character warning
Conversation
greatelv
left a comment
There was a problem hiding this comment.
기능 구현과 마크업 작업하시느라 고생하셨습니다.
전체적으로 코드가 깔끔하게 작성되어 있으나, 시맨틱 마크업과 CSS 명시도, 그리고 웹 접근성 관점에서 몇 가지 아쉬운 점이 보입니다. 작은 디테일들이 모여 소프트웨어의 품질을 결정하는 법이니, 남겨드린 코멘트를 가볍게 읽어보시고 다음 작업에 고려해보시면 좋겠습니다.
| </div> | ||
|
|
||
| <div class="pw"> | ||
| <ladel for="user-pw">비밀번호<br /></ladel> |
There was a problem hiding this comment.
오타가 있습니다. <ladel>이 아니라 <label>이 되어야 스크린 리더 등에서 정상적으로 렌더링되고 인식될 수 있습니다. 수정이 필요합니다.
| <section> | ||
| <form action="/signup.html" method="POST"> | ||
| <div class="email"> | ||
| <label for="email">이메일<br /></label> |
There was a problem hiding this comment.
<label> 내부에 <br />을 넣어 통제되지 않는 줄바꿈을 처리하기보다, CSS에서 display: block;이나 display: flex;로 제어하는 편이 구조적 관점에서 훨씬 낫습니다. 마크업과 스타일을 분리하는 방향으로 개선하시길 권합니다.
| gap: 16px; | ||
| } | ||
|
|
||
| #email { |
There was a problem hiding this comment.
스타일을 부여할 때 #email과 같은 ID 선택자보다는 Class 선택자를 사용하는 것이 좋습니다. ID 선택자는 불필요하게 명시도(Specificity)를 높이기 때문에, 나중에 스타일을 덮어쓰거나 컴포넌트를 확장해야 할 때 분명히 발목을 잡게 됩니다.
| } | ||
|
|
||
| /* --form-- */ | ||
| input:focus { |
There was a problem hiding this comment.
특수한 예외 상황이 아니라면 !important의 사용은 지양하는 것이 좋습니다. 일반적인 선택자의 명시도를 조절하는 방식으로 우선순위를 제어해야, 추후 유지보수 과정에서 어긋나는 일들을 방지할 수 있습니다.
| outline: none; /* 클릭했을 때 생기는 파란색 테두리(강조선)까지 삭제 */ | ||
| } | ||
|
|
||
| input:focus { |
There was a problem hiding this comment.
focus 상태일 때 outline: none;으로 아웃라인을 완전히 날려버리면, 키보드로 탐색하는 접근성이 필요한 사용자들은 자신이 어딜 보고 있는지 전혀 인지할 수 없게 됩니다. 기본 아웃라인을 제거한다면, 시각적으로 명확한 포커스 스타일(예: 지정된 색상의 테두리나 box-shadow 등)을 반드시 대체제로 제공해야 합니다.
기본 요구사항
랜딩 페이지
심화 요구사항
공통
README.md파일을 작성해 주세요.part1-홍길동)에 스프린트 미션을 업로드해 주세요.1-Sprint-Mission레포지토리를 fork 합니다.part1-홍길동)에 미션을 제출합니다.로그인 페이지, 회원가입 페이지 공통
로그인 페이지
회원가입 페이지
심화 요구사항
공통
로그인 페이지, 회원가입 페이지 공통