개요

FEConf 2025 유튜브 동영상 전체 화면. 상단에는 파란색 행사 배경 위로 왼쪽에 김무훈 연사의 마이크를 든 발표 사진과 ‘FEConf’ 로고가 보이고, 오른쪽에는 발표 슬라이드가 보인다. 슬라이드 제목은 “모두를 위한 웹 접근성, 무엇이고, 어떻게 하나요? 💬🔉”, 발표자는 김무훈, A11YKR 커뮤니티, 링크와 QR코드가 포함되어 있다. 하단에는 유튜브 동영상 정보가 표시되며, 영상 제목은 “FEConf 2025 [B3] ‘중요하지만 긴급하지 않은 일, 그럼에도 계획해야 하는 웹 접근성’”, 조회수 28회, 9시간 전 게시됨, 채널명은 FEConf Korea.

FEConf 유튜브 채널을 통해 공개된 발표 영상의 일부

지난 8월, 저는 국내 대표 프런트엔드 콘퍼런스 FEConf 2025에서 “모두를 위한 웹 접근성은 무엇이고, 어떻게 하나요? 👀 💬 🔉“라는 주제로 발표했습니다. 이 발표에서는 프런트엔드 개발자를 대상으로 웹 접근성의 기본 개념과 누구나 쉽게 실천할 수 있는 방법론을 소개했습니다.

  • 효과적인 슬라이드 전달: 방대하고 복잡한 접근성 표준 지침을 압축해서 전달하는 것이 꽤 도전적이었습니다.
  • 슬라이드의 신뢰성: 웹 접근성 표준 명세와 지침 같은 정확한 출처를 의식하며 자료를 조사했습니다.
    • W3C의 웹 콘텐츠 접근성 지침(WCAG)과 WAI-ARIA 명세를 1차 자료로 우선 참조했습니다.
    • 2차 자료를 인용할 때는 항상 원본과 비교해 내용의 신뢰성을 검토했습니다.

왜(발단)무엇(준비)어떻게(실행: 리허설/발표) 순서로 준비 과정을 되돌아보겠습니다.

발단

지난 4월에 제 개인 블로그에 “웹 접근성이 UI 설계에 중요한 이유“라는 제목으로 WAI-ARIA를 바탕으로 한 시멘틱 CSS 규칙을 설계하는 접근성 실천 방법론을 발행했습니다.

접근성은 검증된 규칙정확한 정보 출처를 철저히 확인해야 하는 까다로운 분야입니다. 이런 이유로 초안 기획부터 완성까지 전문가 자문을 병행하며 3개월이 걸렸습니다.

아래는 국내 접근성 온라인 모임 A11YKR과 자문 과정을 담은 대화 기록입니다.

A11YKR 접근성 커뮤니티의 채팅 스크린샷. 김무훈이 게시글 검수 요청 메시지를 올리자, 운영진 현진이 장문의 피드백을 남기고 있다. 댓글에는 “No ARIA is better than Bad ARIA – ARIA Authoring Practices Guide” 문장이 포함되어 있으며, 접근성 코드 작성 방식과 ARIA 활용 원칙에 대한 토론이 진행되고 있다.

A11YKR 운영진 현진님에게 직접 찾아가 도움을 청한 첫 채팅 이력

A11YKR 스레드 “웹 접근성이 UI 설계에 중요한 이유” 가이드 검수 의견 화면. 김무훈이 프리뷰 링크를 올려 리뷰를 요청하고, 현진이 ‘CSS 명세도(특이성)’ 용어 선택, ARIA vs HTML 속성 구분, 키보드 지원 등 개선점을 장문으로 피드백하며 MDN 문서를 첨부한다. 이어 김무훈이 용어 통일·ARIA 상태/역할 구분 정리 등을 약속하고, msy가 Testing Library getByRole와 Playwright 문서 링크를 추가로 공유한다.

이후에도 별도의 쓰레드를 만들어 현진님과 의견을 여러 차례 주고받았습니다.

여러 차례 자문·내용 검수를 거치며, 용어 통일과 실천 방법론을 다듬었습니다.

현장에서 바로 적용할 수 있는 실천 방법론에 관해 심도 있는 의견을 나눴습니다. 접근성 기술 및 사례에 대한 실용적이고 구체적인 정보를 얻을 수 있었습니다.

발표 제안

해당 접근성 포스팅을 4월 중순에 공개했습니다. 글 발행 후 바로 트윗을 올렸고, 답글로 FEConf 공식 트위터 계정으로부터 발표 제안을 받았습니다.

콘퍼런스에서 발표하면 접근성의 가치를 더 많은 사람에게 공유할 좋은 기회라 판단해, 제안을 수락해 신청했습니다. 한 달 뒤쯤에 발표자 확정 안내 메일을 받았습니다. 이후 일정은 아래와 같이 진행되었습니다.

  1. 발표 시나리오 작성: 6월 1일 - 6월 15일
  2. 발표 시나리오 검수: 주최 측 검수, 6월 15일 - 6월 말
  3. 발표 슬라이드 초안 제작: 7월 1일 - 8월 1일
  4. 발표 슬라이드 서면 검수: 8월 1일 - 8월 7일

발표 시나리오 작성

Google Docs 문서 편집 화면. 문서 제목은 “중요하지만 잘 모르는 웹 접근성, 이제는 계획할 때”이며, 왼쪽 탐색창에는 ‘발표 시나리오’, ‘오해 1 - 웹 접근성은 장애 사용자만을 위한 특수한 경험이다’ 등 섹션 목록이 표시되어 있다. 본문에는 발표 시나리오 초안이 작성되어 있고, WCAG 및 MDN, web.dev 인용문이 강조 표시되어 있다.

주최 측 요청으로 Google Docs 에서 작성한 발표 시나리오 원고

주최 측 요청으로 발표의 개괄적인 구조와 초안을 담은 ‘발표 시나리오’ 문서를 6월 15일까지 제출했습니다.

시나리오는 정확성(표준·근거)과 실용성(바로 적용 가능한 방법)에 초점을 맞췄습니다. WCAG·WAI‑ARIA 개요, 시맨틱 HTML, 키보드 접근성·초점 관리, 그리고 실무 사례를 자세히 다루었습니다.

발표 슬라이드 초안 제작

접근성은 앞서 말했듯이 객관적 근거정확한 참조가 중요한 분야입니다. 이에 대해 객관성, 출처 명시, 실천 가능성을 핵심 기준으로 삼아 철저한 교차 검증 작업을 진행했습니다.

  • 신뢰할 수 있는 1차 저작물로 W3C 저작 웹 콘텐츠 접근성 지침(WCAG)과 WAI-ARIA 명세를 우선 참조했습니다. 2차 자료를 인용할 때는 항상 원본과 비교해 신뢰성을 유지했습니다.
  • 웹 접근성이 UI 설계에 중요한 이유” 검수 방식과 마찬가지로, A11YKR 내부에 여러 차례 피드백을 주고받았습니다.

이 두 가지 기준을 통해 슬라이드를 체계적으로 정리했고, 접근성을 더 깊이 이해할 수 있었습니다.

발표 리허설

행사 20여 일 전에 발표 리허설을 A11YKR 커뮤니티를 통해 진행했습니다. 리허설 결과는 기대와 달리 냉정했고, 아래와 같은 개선 의견을 받았습니다. 예상과 달라 부담이 컸습니다.

아래 두 내용의 경계가 명확히 설정하여 슬라이드가 구성되면 좋겠어요.

  1. 웹 접근성에 대한 이해를 돕기
  2. 또는 개인 사례를 자세히 보여주기

발표 제한 시간을 20분을 넘어 슬라이드를 줄여야 되어 보여요.

마치 희망으로 가는 결과를 기대했지만, 물줄기만 흐르는 구조물을 마주한 듯했습니다.1

슬라이드 편집 도구에서 “웹 접근성” 발표 자료의 전체 슬라이드 미리보기 화면. X축 방향으로 ‘웹 접근성, 무엇일까요?’, ‘웹 접근성, 어떻게 지원하나요?’, ‘접근성 기술, 접근성 트리’ 등의 제목이 보이며, 이후 세부 주제별로 ARIA 소개, 접근성 트리와 보조기기 흐름, CSS-in-JS 사례, Snapshot Testing 등 내용이 정리되어 있다. 발표 전 리허설 피드백을 반영해 구조와 하위 주제를 재구성한 과정의 모습이다.

A11YKR 발표 리허설 피드백을 바탕으로 재구성 중의 슬라이드의 전체 흐름. 하위 주제를 명확히 나누도록 재구성했다.

피드백의 요지가 너무나 명확해서, 행사 20여 일 전에 발견한 것이 오히려 다행이었다고 생각했습니다.

먼저 슬라이드를 4개 하위 섹션으로 나누고, Y축으로 주제별 내용을 정리했습니다. 그리고 발표의 전체 흐름을 ‘이유’–‘무엇을’–‘어떻게’ 라는 구조로 개선했습니다.

슬라이드 줄이기

리허설 결과로 “핵심만 전달하라”는 공통 의견이 있었습니다. 이에 따라 슬라이드에서 핵심 메시지만 남기는 퇴고를 진행했습니다. 아래는 슬라이드 축약 전후 비교입니다.

슬라이드 제목은 “잠깐, 접근성 트리란?”으로, 접근성 트리의 개념과 구조를 글머리표로 상세히 설명하고 있다. 본문에는 “DOM 트리에서 역할·이름·상태를 계층 구조로 표현한다”는 정의와 함께 div·h1 예시를 들어 설명하는 긴 문단이 포함되어 있으며, 오른쪽에는 단순화된 접근성 트리 코드 스니펫이 함께 표시되어 있다.

접근성 트리 소개 수정 전 슬라이드 - 정보량이 많고 설명 중심으로 구성되어 있었다.

제목은 “접근성 트리 aka. 접근성 객체 모델(AOM)”으로 변경되었으며, 이전에 비해 약 60%의 분량을 덜어내 핵심 개념만 남긴 정리된 버전이다. 본문은 “DOM 트리와 1:1 대응하는 AOM 구조” 및 “역할·이름·상태 기반 구성” 등 핵심 문장만 남겼고, 오른쪽에는 실제 예시로 “name: 쇼핑”, “role: region”으로 시작하는 YAML 형태의 접근성 트리 코드가 강조되어 있다. 하단에는 “네이버 쇼핑 섹션 접근성 패널 예시” 문장이 추가되어, 개념

접근성 트리 소개 수정 후 슬라이드 - 약 60% 분량을 덜어내고 핵심 개념만 남겼다.

접근성 소개 섹션을 다시 정리하는 작업이 가장 어려웠고 상당한 시간이 걸렸습니다. 접근성 개념을 쉽고 명확한 언어로 설명하면서도 전문성을 유지해야 했기 때문입니다.

인터랙티브 데모 준비하기

아래와 같은 접근성 의사(pseudo) 마크업만으로는 청중의 이해를 돕기에 부족하다고 생각했습니다.

<h2 id="brand-label">신발 브랜드</h2>

<div
  role="combobox"
  aria-expanded="true"
  aria-labelledby="brand-label"
  aria-controls="brand-list"
>
  <input
    type="search"
    value="나이*"
    aria-activedescendant="opt-nik*"
    aria-autocomplete="list"
  />
  <ul role="listbox" id="brand-list">
    <li role="option" id="opt-nik*" tabindex="0" aria-selected="true">나이*</li>
    <li role="option" id="opt-newbalanc*" tabindex="-1" aria-selected="false">
      뉴발란*
    </li>
    <li role="option" id="opt-skecher*" tabindex="-1" aria-selected="false">
      스케처*
    </li>
  </ul>
</div>

WAI-ARIA 표준을 준수한 Combobox UI의 의사(pseudo) 마크업 구성 예제

따라서, 수도 마크업과 함께 데모를 제공했습니다. 아래에는 시연 영상과 녹화 환경을 첨부했습니다.

Combobox UI - Roving Tabindex 스크린리더 시연 영상

OBS Studio 화면. 상단 미리보기 창에는 ‘Mu-Hun — ARIA 콤보박스 (Roving Tabindex)’라는 시연용 웹 페이지가 열려 있고, 선택창에는 ‘신발 브랜드 – 나이*’라는 텍스트가 표시되어 있다. 하단에는 KeyCaster, VoiceOver, macOS 오디오 캡처 등의 소스 목록과 오디오 믹서가 활성화되어 있으며, 전체적으로 웹 접근성 데모 영상을 녹화하기 위한 OBS 설정 장면이다.

위 시연 영상의 녹화 환경 (OBS 소프트웨어 사용)

데모를 통해 스크린 리더와 키보드로 콘텐츠를 탐색하는 초점 이동 과정을 구체적으로 보여줬습니다.

결과

  • 발표 시간 준수: 매번 리허설에서 약 7분씩 초과하여 걱정했습니다. 즉흥적인 말을 줄이고 발표 스크립트를 충실히 따라, 본 발표에서는 약 3분을 남기고 마쳤습니다.
  • 긍정적인 반응
    • 현장과 온라인에서 대체로 ‘접근성에 대한 막연한 인식’을 해소하는 데 도움이 됐고, 발표에서 소개한 방법론을 통해 ‘충분히 접근성을 적용해볼 만하다’는 피드백을 받았습니다.
      A11YKR 디스코드 채팅방의 대화 화면. 김무훈이 “발표 끝나면서 커뮤니티 소개를 했다”고 말하며 무대에서 A11YKR 커뮤니티 화면이 비친 사진을 올렸고, 운영진 현진이 “오늘 오후에만 22분이 신청하셨습니다”라고 답하고 있다. 발표 직후 커뮤니티 신규 가입이 급증한 상황을 보여주는 장면이다.

      발표를 마친 당일부터 자정까지 A11YKR에 22분이 가입 신청을 했다.

      소셜 플랫폼 게시글 화면. 어두운 배경 위에 흰색 텍스트로 작성된 게시물로, 발표 후 열흘 뒤 슬라이드의 조회 수가 천 회를 돌파했음을 알리는 내용이다. 김무훈(@iamuhun@hackers.pub)의 프로필이 보이며, “FEConf 접근성 발표 슬라이드 뷰 수가 천 회가 넘었네요. 이렇게 무수한 관심은 기술 자료를 만들면서 처음입니다.”는 내용이 게시되어 있다. 글 아래에는 하트 3개, 댓글 0개, 공유 0회 등의 아이콘이 표시되어 있다.

      콘퍼런스 10일 이후에 발표 슬라이드의 조회수가 천 회를 넘었었다.

마치며

FEConf 행사장 내부 전경. 붉은 카펫이 깔린 넓은 홀의 맨 뒤쪽 자리에서 무대를 향해 찍은 사진으로, 무대 중앙 스크린에 ‘FEConf’ 로고가 파란 조명 속에 빛나고 있다. 객석에는 연한 베이지색 의자들이 줄지어 놓여 있으며, 일부 관객이 자리에 앉아 있는 모습이 보인다.

콘퍼런스 홀 맨 뒤 좌석에서 무대를 바라본 모습. 지인을 통해 받은 사진이다.

  • 30분 발표 퇴고하기: 첫 리허설 의견을 반영해 텍스트를 대폭 줄였습니다. 핵심 메시지, 도식, 코드 예제를 선별하는 데 집중했습니다. 행사 며칠 전 A11YKR에 검수를 요청했고, 슬라이드가 명료해졌다는 의견을 받았습니다.
    • 꾸준한 소통으로 가능했던 일: A11YKR 커뮤니티와 꾸준한 교류를 통해 얻은 통찰이 슬라이드 구성에 큰 도움이 되었습니다. 이번 경험은 혼자만의 성과가 아니라고 생각합니다.
    • 서사 구조화하기: 슬라이드 짜임을 ‘이유’ - ‘무엇을’ - ‘어떻게’ 라는 논리적 순서로 바꾸니 하위 주제 간 경계를 관리하기 훨씬 쉬워졌습니다.
  • 아쉬웠던 발표 전달력: 준비한 자료에 비해 현장에서 발표 전달력이 다소 불안정했습니다. (발표 유튜브 영상 참고)
    • 평소 긴장을 자주 느끼는 편이라, 이번 발표를 무사히 마친 것에 의의를 둬야 해서 아쉬웠습니다.
    • 오래전부터 개선 노력을 이어오고 있습니다. 부족한 제 전달력에 양해를 드립니다.

글쓴이의 다른 접근성 글


  1. “Failed Aether Portal”: 마인크래프트에서 ‘천국 차원(The Aether)‘으로 가는 포털을 만들기 위해 제작하는 구조물을 뜻합니다. 이 서드파티 모드를 설치하지 않으면 게임에 존재하지 않은 차원이기 때문에, 기대와 현실의 간극을 잘 표현하는 인터넷 유머입니다.

    마인크래프트에서 발광석으로 만든 천국 포털 모양 구조물. 포털 중앙에는 물이 흘러나오며, 실제 작동하지 않는 장식용 포털처럼 보인다. 낮 시간대 해변가 배경.

    Minecraft “Failed Aether Portal”
    희망으로 가는 천국 대신에, 기다린 건 단순한 물줄기뿐이었다.

     ↩︎