목록으로
KRDS 체크리스트 분석

언어는 나라가 아니다

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

VViewCheck Insight
·2026.07.22 3분 43
언어는 나라가 아니다
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컴포넌트,웹표준

#KRDS#공공웹#컴포넌트#헤더#언어설정#드롭다운메뉴#국기미사용#다국어

관련 글