언어는 나라가 아니다
이번 143편은 언어 설정 드롭다운에 국기를 사용하지 않는 규칙입니다.

KRDS CP-023 — 언어 설정을 위한 드롭다운 메뉴에 국기를 사용하지 않고 있다.
0. 들어가며 — 의외로 흔한 실수
이번 143편은 언어 설정 드롭다운에 국기를 사용하지 않는 규칙입니다.
언어 변경 메뉴를 만들 때, 많은 사이트가 각 언어를 국기 아이콘으로 표시합니다 — 영어는 미국·영국 국기, 한국어는 태극기처럼요. 직관적으로 보이지만, 사실 이건 잘못된 관행입니다. CP-023은 언어 드롭다운에 국기를 쓰지 말라고 규정하죠. ’언어’와 ’국가’는 다르기 때문입니다. 이번 편을 풀어냅니다.
1. 규칙 원문 — 국기 미사용
CP-023 (컴포넌트 > 헤더) “언어 설정을 위한 드롭다운 메뉴에 국기를 사용하지 않고 있다.”
언어 선택 드롭다운에서 각 언어를 국기로 표시하지 말라는 뜻입니다.
정리: 언어 설정 드롭다운에 국기를 사용하지 마라. 이게 CP-023입니다.
2. 왜 국기를 쓰면 안 되나
국기로 언어를 표시하는 것은 직관적으로 보이지만, 근본적인 문제가 있습니다 — 언어와 국가는 1:1로 대응하지 않기 때문입니다.
첫째, 한 언어를 여러 나라가 씁니다. 영어는 미국·영국·호주·캐나다 등 수많은 나라가 쓰는데, 어느 국기로 ’영어’를 표현할까요? 미국 국기를 쓰면 영국 사용자가, 영국 국기를 쓰면 미국 사용자가 소외감을 느낄 수 있죠. 스페인어(스페인·중남미 다수국), 아랍어(중동·북아프리카 다수국)도 마찬가지입니다. 하나의 국기로 한 언어를 대표할 수 없습니다.
둘째, 한 나라가 여러 언어를 씁니다. 스위스(독일어·프랑스어·이탈리아어), 캐나다(영어·프랑스어), 인도(다수 언어)처럼요. 국기 하나로 그 나라의 어떤 언어인지 알 수 없죠.
셋째, 정치적·외교적 민감성입니다. 국기는 국가 정체성·주권의 상징이라, 언어 선택이라는 단순 기능에 국기를 쓰면 의도치 않은 정치적 함의가 생길 수 있습니다. 특히 정부 사이트는 외교적 중립성이 중요하므로 더욱 조심해야 하죠.
넷째, 접근성입니다. 작은 국기 아이콘은 색약 사용자나 저시력 사용자가 구별하기 어렵고, 스크린리더도 국기 이미지만으로는 언어를 정확히 전달하기 어렵습니다.
그래서 올바른 방법은 — 언어를 그 언어의 이름(자국어 표기)으로 표시하는 것입니다. 예: “한국어”, “English”, “中文”, “日本語”처럼 각 언어를 해당 언어로 적죠. 이러면 어느 나라든 그 언어 사용자가 자기 언어를 명확히 찾을 수 있고, 정치적 함의도 없으며, 텍스트라 접근성도 좋습니다. 국제적으로도 ‘flags are not languages’(국기는 언어가 아니다)는 잘 알려진 UX 원칙입니다.
3. 점검 / 개선
무엇을 점검하나
국기 없음 — 언어 드롭다운에 국기 아이콘이 없는가.
언어명 표기 — 각 언어가 그 언어 이름(자국어)으로 표시되는가.
접근성 — 스크린리더가 언어를 정확히 읽는가.
Before / After
<!-- ❌ 국기로 언어 표시 --> <li><img src="us-flag.png"> English</li> <!-- ✅ 언어명(자국어)으로 표시 --> <li><a lang="en" href="/en">English</a></li> <li><a lang="zh" href="/zh">中文</a></li>
4. 누가 담당하나 / 우리 사이트에 해당될까?
| 역할 | 책임 |
|---|---|
| 디자이너 | 언어 메뉴를 언어명 텍스트로 설계(국기 배제) |
| 퍼블리셔/개발 | 언어명 + lang 속성 구현 |
| 기관 유형 | CP-023 적용 |
|---|---|
| 중앙행정기관(대표·운영) / 공공기관 / 지자체 | ✅ 필수 (다국어 지원 시) |
다국어(언어 변경 기능)를 제공하는 사이트 = 해당. 단일 언어면 N/A.
5. 30초 자가진단 + FAQ
✅ 30초 자가진단
□ 언어 드롭다운에 국기가 없나요?
□ 각 언어가 언어 이름(자국어)으로 표시되나요?
□ 스크린리더가 언어를 정확히 읽나요?
❓ FAQ
Q1. 국기가 더 직관적이지 않나요? 직관적으로 보이지만, 한 언어를 여러 나라가 쓰고 한 나라가 여러 언어를 써서 국기로 언어를 대표할 수 없습니다. ’flags are not languages’는 잘 알려진 UX 원칙입니다. Q2. 한국어는 태극기로 표시하면 안 되나요? 안 됩니다. “한국어”라는 텍스트로 표시하는 것이 정확하고 일관 됩니다. Q3. KRDS를 채택하면 자동인가요? 표준 언어 변경 컴포넌트는 언어명으로 표시합니다(언어 변경 컴포넌트 CP-307 등 별도 그룹에서도 다룸).
6. 마무리
CP-023의 메시지:
언어는 나라가 아니다 — 국기 대신 그 언어의 이름으로 표시하라.
국기로 언어를 표시하면 ‘한 언어 다수 국가’, ‘한 국가 다수 언어’, 정치적 민감성, 접근성 문제가 생깁니다. 각 언어를 자국어 이름(“English”, “中文”)으로 표시해야 정확하고 중립적이며 접근 가능하죠. ’flags are not languages’는 국제 UX 원칙입니다.
다음 편은 아이콘 버튼의 텍스트 레이블을 다룹니다. CP-024 — “아이콘 버튼/링크에 텍스트 레이블을 제공한다.”
다음 편 예고 ▶ 「144. (CP-024) 아이콘 버튼/링크에 텍스트 레이블을 제공하고 있다.」
ViewCheck는 언어 설정 드롭다운에 국기 대신 언어명이 사용됐는지를 진단합니다.
📚 참고 출처
KRDS 컴포넌트 — 헤더(Header) / 언어 변경(Language switcher) 가이드 — https://www.krds.go.kr/html/site/component/component_03.html
KRDS #ViewCheck #공공웹사이트 #전자정부 #디지털정부 #웹접근성 #디자인시스템 #UIUX #UI컴포넌트 #웹표준
KRDS,ViewCheck,공공웹사이트,전자정부,디지털정부,웹접근성,디자인시스템,UIUX,UI컴포넌트,웹표준

관련 글
다음 호는 언제?
이번 846편은 간행물 자료의 발행 주기 정보를 본문의 부제목이나 별도 안내 영역에 제공하라는 규칙입니다. 그리고 이 편이 — 846 규칙 완전 분해 시리즈의 마지막 한 편입니다.
방대한 자료를 효율적으로
이번 845편은 목록에 필터링, 정렬 방식, 상세 검색(기간, 자료 유형 등) 기능을 제공하여 정보를 효과적으로 조회하라는 규칙입니다. [정책 자료 탐색] 서브섹션의 시작이죠.
적힌 대로 가야 한다
이번 844편은 모든 링크는 실행하였을 때, 링크 레이블에 명시된 적절한 화면으로 이동하라는 규칙입니다.
