질문사항
회원가입 페이지의 인풋 컴포넌트를 디자인할 때 `Disabled` 상태가 필요한가요? 현재는 필요 없다고 생각하지만 개발자분이 필요할 것 같다고 하셔서 고민입니다. 사용되지 않더라도 미리 `Disabled` 상태를 만들어두는 것이 일반적인가요?
답변
네, `Disabled` 상태는 당장 필요하지 않더라도 미리 만들어두는 것이 일반적이며 권장됩니다.
`Disabled` 상태가 필요한 이유:
미래 확장성: 현재는 사용되지 않더라도, 서비스가 발전하면서 특정 조건에서 인풋 필드를 비활성화해야 하는 경우가 생길 수 있습니다 (예: 특정 권한이 없는 사용자, 이미 완료된 정보, 시스템에 의해 자동 입력된 필드 등). 미리 만들어두면 나중에 디자인 시스템에 추가하는 번거로움을 줄일 수 있습니다.개발 효율성: 개발자는 디자인 시스템에 정의된 모든 상태를 기반으로 코드를 작성하는 것을 선호합니다. `Disabled` 상태가 없으면 나중에 추가 요청이 들어왔을 때 개발 공수가 더 들 수 있습니다.일관된 사용자 경험: `Disabled` 상태를 미리 정의해두면, 서비스 전반에 걸쳐 비활성화된 요소들이 일관된 시각적 표현과 상호작용 방식을 가지게 됩니다.회원가입 단계에서의 예시: 친구 추천 코드: 선택 사항인 추천 코드 입력 필드가 특정 조건(예: 이미 다른 프로모션 적용)에서 비활성화될 수 있습니다. 이메일/전화번호 인증 후: 이메일이나 전화번호 인증을 완료한 후, 해당 필드를 더 이상 수정할 수 없도록 `Disabled` 처리할 수 있습니다. 약관 동의 후 특정 필드 활성화: 특정 약관에 동의해야만 입력할 수 있는 필드가 있다면, 동의 전까지는 `Disabled` 상태로 둘 수 있습니다.결론:
`Disabled` 상태는 컴포넌트의 기본적인 상태 중 하나이므로, 당장 사용 계획이 없더라도 디자인 시스템의 완성도를 높이고 미래의 유연성을 확보하기 위해 미리 만들어두는 것이 좋습니다. 개발자와의 협업 측면에서도 긍정적입니다.