본문으로 바로가기

폼 실시간 검증 제대로 하기: 타이밍부터 aria-invalid까지

회원가입 폼을 만들고 있었습니다. 이메일 입력창에 포커스를 주자마자 "이메일 형식이 올바르지 않습니다"라는 에러가 떴어요. 아직 아무것도 입력하지 않았는데요. ...

글 작성일: 2026-09-15 · 글 읽기 시간: 19 분 · 글 단어 수: 9140 단어 · 글쓴이: Isaac

SPA에서 포커스 관리 제대로 하기: 라우팅 후 스크린 리더가 혼란에 빠지지 않도록

React로 만든 SPA를 잘 써오고 있었는데, 어느 날 접근성 검사를 했더니 이런 피드백이 왔습니다. "페이지가 이동했는데 스크린 리더가 아무 말도 안 해요." ...

글 작성일: 2026-09-15 · 글 읽기 시간: 17 분 · 글 단어 수: 8076 단어 · 글쓴이: Isaac

Safari 27이 고친 top-level await 버그, 재봤더니 로딩이 두 배 느렸다

사파리의 top-level await 버그는 2022년 7월에 보고됐고(WebKit bug 242740), 2025년 10월에는 이 버그 때문에 top-level await가 Baseline(주요 브라우저가 다 지원하는지 알려주는 웹 표준 지원 지표)에서 "Limited"로 내려갔습니다. 수정은 2026년 4월에 머지되어 5월 Safari Technology Preview 243부터 실렸고, WebKit 팀이 9월 2일 블로그에 올린 Fixing top-level await in Safari는 그 포스트모템(사후 분석)입니다. ...

글 작성일: 2026-09-03 · 글 읽기 시간: 12 분 · 글 단어 수: 5701 단어 · 글쓴이: Isaac

aria-live가 안 읽힐 때 — ARIA 라이브 리전 제대로 쓰기

"저장되었습니다"라는 초록색 토스트가 화면 오른쪽 아래에 뜹니다. 2초 뒤 사라지고요. 마우스를 쓰는 사람에게는 완결된 피드백입니다. 그런데 화면을 보지 않는 사람에게는요? 그 토스트는 일어나지 않은 일입니다. 저장이 됐는지 안 됐는지 알 방법이 없어요. ...

글 작성일: 2026-09-02 · 글 읽기 시간: 17 분 · 글 단어 수: 8249 단어 · 글쓴이: Isaac

Scroll-Driven Animation: 스크롤이 타임라인이 되는 순간

들어가며: 스크롤을 "시간"으로 다루는 감각 스크롤 기반 애니메이션을 만들다 보면 이런 순간이 있습니다. "스크롤 위치를 그냥 이벤트로 처리하지 말고" "이걸 타임라인처럼 다루면 훨씬 깔끔할 텐데?" Scroll-Driven Animation은 바로 그 감각을 공식화한 접근입니다. 스크롤을 단순한 입력이 아니라 애니메이션의 시간 축(timeline)으로 바라보는 방식이죠. ...

글 작성일: 2026-08-12 · 글 읽기 시간: 23 분 · 글 단어 수: 11086 단어 · 글쓴이: Isaac

테스트 문화·면접·다음 단계 — 프론트엔드 테스트 시리즈를 마치며

「프론트엔드 테스트 제대로 하기」 시리즈의 22편입니다. 전체 목차 보기 · 용어집 작은 앱 하나에 테스트를 한 겹씩 쌓으면 무엇이 되는지 — 이 글은 그 여정의 회고이자, 프론트엔드 테스트 전체의 지도입니다. ...

글 작성일: 2026-08-08 · 글 읽기 시간: 11 분 · 글 단어 수: 5046 단어 · 글쓴이: Isaac

AI가 만든 코드의 함정 — 접근성·엣지케이스 누락

「프론트엔드 테스트 제대로 하기」 시리즈의 21편입니다. 전체 목차 보기 · 용어집 AI가 짠 코드는 빠르고, 돌아가고, 화면도 예쁩니다. 문제는 그럴듯하게 틀린다는 것이에요. ...

글 작성일: 2026-08-07 · 글 읽기 시간: 12 분 · 글 단어 수: 5653 단어 · 글쓴이: Isaac

Playwright × AI — codegen·MCP·자가치유 셀렉터

AI가 브라우저를 직접 조작하는 시대. Playwright codegen과 MCP 에이전트를 실무 기준으로 짚고, MCP가 스크린샷이 아니라 접근성 트리를 읽는다는 점, 자가치유 셀렉터가 왜 Playwright 기능이 아닌지까지 정리합니다.

글 작성일: 2026-08-06 · 수정됨 2026-10-02 · 글 읽기 시간: 20 분 · 글 단어 수: 9672 단어 · 글쓴이: Isaac

AI로 테스트 생성·보강 — 검증의 몫은 사람

「프론트엔드 테스트 제대로 하기」 시리즈의 19편입니다. 전체 목차 보기 · 용어집 AI(ChatGPT·Claude 같은 대형 언어 모델, LLM)에게 테스트를 짜달라고 하면 될까요? 됩니다. 다만 그대로 믿으면 안 돼요. AI는 그럴듯한 테스트를 몇 초 만에 뽑아주지만, 정작 중요한 경계·실패·접근성 케이스를 조용히 빼먹는 경향이 있거든요. 이 글은 AI를 테스트 작성의 조수로 제대로 부리는 법입니다 — 좋은 초안을 받는 요령부터, 받은 테스트가 진짜 일하는지 검증하는 체크리스트까지. ...

글 작성일: 2026-08-06 · 글 읽기 시간: 12 분 · 글 단어 수: 5991 단어 · 글쓴이: Isaac

popover·앵커 포지셔닝·dialog, 접근성 관점에서 지금 써도 될까

브라우저 지원표가 초록불이어도 접근성까지 초록불인 건 아닙니다. popover·앵커 포지셔닝·dialog·뷰 트랜지션 네 가지 기능을 2026년 8월 기준으로 점검하고, 브라우저가 대신 해주는 것과 개발자가 직접 챙겨야 하는 것을 실제 데모와 함께 정리했습니다.

글 작성일: 2026-08-05 · 수정됨 2026-10-24 · 글 읽기 시간: 28 분 · 글 단어 수: 13873 단어 · 글쓴이: Isaac
맨 위로