
접근성 트리: 브라우저는 DOM 옆에 하나를 더 만든다
DOM에 선언한 ARIA 속성이 실제 접근성 트리에 어떻게 반영되는지, combobox와 aria-multiline 충돌을 수정한 오픈소스 기여 사례로 살펴봅니다.

몇 픽셀을 갖고 싸운다? : 접근성에도 법이 있다 - WCAG
오픈 소스 이슈에서 시작된 접근성 논쟁을 따라가며 WCAG를 정리합니다. A / AA / AAA는 버전이 아니라 등급이라는 점, 버전과 등급이 따로 논다는 점, SC 번호 읽는 법까지 실제 이슈에 적용해 보며 확인합니다.

개인 블로그 SEO 최적화 과정
클라이언트 사이드 페이지네이션은 초기 HTML에 글 링크를 남기지 않아 크롤러가 따라갈 경로를 지웁니다. Search Console의 내부 링크 수치로 그 상태를 확인하고, 전체 글을 링크하는 아카이브 페이지로 해결하는 과정을 정리합니다.

Suspense Query - 선언성을 댓가로 지불하는 Suspend 상태
useSuspenseQuery는 코드를 선언적으로 만들지만, suspend는 결국 throw입니다. 받아 줄 경계가 없으면 화면이 사라집니다. 경계를 어느 깊이에 둘지, Next.js에서는 무엇이 달라지는지, 그래서 언제 쓸 만한지를 정리합니다.

프론트엔드 테스트 생태계 구조
Jest, Vitest, jsdom, Testing Library, MSW, Playwright가 각각 어느 레이어를 맡는지 정리합니다. Test Runner, DOM 환경, Component Rendering, Network Mocking으로 나눴 보고 실제 조합 패턴까지 살펴봅니다.

당신의 useEffect에 이름을 붙여야 하는 이유
useEffect의 첫 인자로 화살표 함수를 넘기는 것은 React 생태계의 사실상 표준입니다. 여기에 이름을 붙이면 가독성뿐 아니라 stack trace가 달라집니다. cleanup 함수 네이밍과 ESLint로 팀에 적용하는 방법까지 다룹니다.
kyu-log