
Storybook 10.4
@storybook/tanstack-react를 통해 TanStack React의 타입 안전 라우팅 및 서버 함수가 제로 설정으로 지원됩니다. 실험적인 react-component-meta 분석기는 Volar와 TypeScript 언어 서버를 기반으로 react-docgen 및 react-docgen-typescript를 대체하며 더 빠른 업데이트와 높은 컴포넌트 감지율을 제공합니다.이번 주 디자인 시스템 툴링은 여러 방면에서 발전하였습니다. Storybook 10.4는 한 번에 최대 10개 컴포넌트의 mock 구성, 스토리 작성, 인터랙션 테스트를 자동화하는 AI 기반 설정 기능을 출시하였으며, 코드 diff에 대해 new, modified, related 스토리를… 개발자가 바로 활용할 수 있도록 정리했습니다.

@storybook/tanstack-react를 통해 TanStack React의 타입 안전 라우팅 및 서버 함수가 제로 설정으로 지원됩니다. 실험적인 react-component-meta 분석기는 Volar와 TypeScript 언어 서버를 기반으로 react-docgen 및 react-docgen-typescript를 대체하며 더 빠른 업데이트와 높은 컴포넌트 감지율을 제공합니다.
useEffect 로컬 페칭부터 React Query, 라우트 레벨 로더를 거쳐 React Server Components(RSC)까지의 진화를 추적하며, RSC가 두 가지 장점을 모두 달성한다고 주장합니다. 컴포넌트를 로더의 데이터 형태에 종속시키지 않고 서버 사이드 데이터 페칭이 가능하다는 것입니다. 각 비동기 서버 컴포넌트는 최소한의 식별자를 통해 필요한 데이터만 가져오므로, prop drilling이나 중복된 로더 로직 없이 페이지 간 컴포넌트를 재사용할 수 있습니다. React의 cache()는 컴포넌트 트리 전반에서 동일한 요청당 페칭을 중복 제거합니다. 페이지는 로딩 시퀀스를 설계하기 위해 의도적인 Suspense 경계를 배치하는 동기적 컴포지터가 됩니다. 단순성을 위한 단일 경계, 독립적 스트리밍을 위한 세분화된 경계를 선택하며, 레이아웃 이동 방지를 위해 컴포넌트와 스켈레톤을 같은 파일에서 함께 내보냅니다. 이 글은 클라이언트 사이드 Server Function 변경을 위한 useOptimistic, 기능별 폴더 구조, 그리고 동일한 아키텍처가 cacheComponents를 사용하는 Next.js 16 Partial Prerendering에 어떻게 매핑되는지도 다룹니다.
div와 span의 기본 역할인 generic 역할을 이름을 부여할 수 없는 요소로 명시적으로 열거합니다. Manuel Matuzovic은 8가지 스크린 리더 및 브라우저 조합에서 aria-label을 div, span, 커스텀 요소에 적용하여 테스트한 결과 일관되지 않은 동작을 확인했습니다. macOS의 VoiceOver는 레이블과 함께 'group'을 읽는 반면, Chrome의 JAWS와 NVDA는 레이블을 완전히 무시하고 텍스트 내용만 읽습니다. 두 가지 예외가 있는데, section 요소는 레이블을 부여하면 region 랜드마크 역할을 갖게 되어 레이블 적용이 적절하며, popover 속성을 가진 div는 group 역할을 취해 기술적으로 레이블이 유효합니다. 실무적으로 디자인 시스템 마크업 가이드라인에서 generic 요소에 aria-label을 사용하면 예측할 수 없는 AT 발표를 초래하므로 피해야 합니다.
alt 속성이 필요한 장식용 이미지, 텍스트 이미지, 긴 alt 문자열보다 보조 목록이나 설명이 적절한 차트 같은 복잡한 시각적 요소가 그 대상입니다. HTML alt 속성은 이미지 로딩 실패 시 대체 텍스트 역할을 하지 않는 aria-label이나 aria-labelledby보다 표준 방식으로 권장됩니다. CKEditor의 AI Quick Actions 기능은 이미지 내용을 바탕으로 대체 텍스트를 자동 생성할 수 있지만, 출판 전에 정확성과 맥락 적합성에 대한 인간의 검토가 필요하다고 강조합니다.



@storybook/tanstack-react를 통해 TanStack React의 타입 안전 라우팅 및 서버 함수가 제로 설정으로 지원됩니다. 실험적인 react-component-meta 분석기는 Volar와 TypeScript 언어 서버를 기반으로 react-docgen 및 react-docgen-typescript를 대체하며 더 빠른 업데이트와 높은 컴포넌트 감지율을 제공합니다.useEffect 로컬 페칭부터 React Query, 라우트 레벨 로더를 거쳐 React Server Components(RSC)까지의 진화를 추적하며, RSC가 두 가지 장점을 모두 달성한다고 주장합니다. 컴포넌트를 로더의 데이터 형태에 종속시키지 않고 서버 사이드 데이터 페칭이 가능하다는 것입니다. 각 비동기 서버 컴포넌트는 최소한의 식별자를 통해 필요한 데이터만 가져오므로, prop drilling이나 중복된 로더 로직 없이 페이지 간 컴포넌트를 재사용할 수 있습니다. React의 cache()는 컴포넌트 트리 전반에서 동일한 요청당 페칭을 중복 제거합니다. 페이지는 로딩 시퀀스를 설계하기 위해 의도적인 Suspense 경계를 배치하는 동기적 컴포지터가 됩니다. 단순성을 위한 단일 경계, 독립적 스트리밍을 위한 세분화된 경계를 선택하며, 레이아웃 이동 방지를 위해 컴포넌트와 스켈레톤을 같은 파일에서 함께 내보냅니다. 이 글은 클라이언트 사이드 Server Function 변경을 위한 useOptimistic, 기능별 폴더 구조, 그리고 동일한 아키텍처가 cacheComponents를 사용하는 Next.js 16 Partial Prerendering에 어떻게 매핑되는지도 다룹니다.div와 span의 기본 역할인 generic 역할을 이름을 부여할 수 없는 요소로 명시적으로 열거합니다. Manuel Matuzovic은 8가지 스크린 리더 및 브라우저 조합에서 aria-label을 div, span, 커스텀 요소에 적용하여 테스트한 결과 일관되지 않은 동작을 확인했습니다. macOS의 VoiceOver는 레이블과 함께 'group'을 읽는 반면, Chrome의 JAWS와 NVDA는 레이블을 완전히 무시하고 텍스트 내용만 읽습니다. 두 가지 예외가 있는데, section 요소는 레이블을 부여하면 region 랜드마크 역할을 갖게 되어 레이블 적용이 적절하며, popover 속성을 가진 div는 group 역할을 취해 기술적으로 레이블이 유효합니다. 실무적으로 디자인 시스템 마크업 가이드라인에서 generic 요소에 aria-label을 사용하면 예측할 수 없는 AT 발표를 초래하므로 피해야 합니다.alt 속성이 필요한 장식용 이미지, 텍스트 이미지, 긴 alt 문자열보다 보조 목록이나 설명이 적절한 차트 같은 복잡한 시각적 요소가 그 대상입니다. HTML alt 속성은 이미지 로딩 실패 시 대체 텍스트 역할을 하지 않는 aria-label이나 aria-labelledby보다 표준 방식으로 권장됩니다. CKEditor의 AI Quick Actions 기능은 이미지 내용을 바탕으로 대체 텍스트를 자동 생성할 수 있지만, 출판 전에 정확성과 맥락 적합성에 대한 인간의 검토가 필요하다고 강조합니다.이번 주 디자인 시스템 툴링은 여러 방면에서 발전하였습니다. Storybook 10.4는 한 번에 최대 10개 컴포넌트의 mock 구성, 스토리 작성, 인터랙션 테스트를 자동화하는 AI 기반 설정 기능을 출시하였으며, 코드 diff에 대해 new, modified, related 스토리를 표시하는 사이드바 변경 감지 필터도 추가되었습니다. Quick Sharing은 PR이나 CI 없이 Chromatic에 원클릭 배포를 가능하게 하고, @storybook/tanstack-react를 통해 TanStack React가 최초로 공식 지원됩니다. Volar 기반의 실험적 react-component-meta 분석기는 react-docgen과 react-docgen-typescript를 대체합니다.
디자인 시스템의 접근성도 큰 주목을 받았습니다. 8가지 스크린 리더·브라우저 조합에 걸친 Manuel Matuzovic의 연구는 div, span 같은 일반 요소에 aria-label을 사용하면 AT 동작이 일관되지 않음을 확인하였습니다. VoiceOver는 레이블과 "group"을 함께 읽지만 Chrome의 JAWS와 NVDA는 완전히 무시합니다. 마크업 가이드라인에서 금지되어야 합니다. CKEditor는 WCAG 2.2의 POUR 원칙에 따른 alt text 모범 사례를 정리하며 콘텐츠 이미지, 링크 이미지, 장식 이미지, 복잡한 시각 요소의 컨텍스트별 요구사항을 구분하였습니다. 제15회 세계 접근성 인식의 날(GAAD)은 AI 생성 코드라도 개발자의 접근성 책임은 면제되지 않는다는 점을 재확인하였습니다.
디자인 프로세스 사고도 주목받았습니다. Laura Klein은 실제 문제 해결이 일어나는 만들기의 생산적인 마찰을 AI가 제거할 수 있다고 경고하며 모호한 생각을 외부화하는 러프 스케치와 빠른 프로토타입 등 '디자인 disposable'을 보호할 것을 주장하였습니다. Aurora Scharff는 요청별 중복 제거를 위한 React의 cache(), 컴포넌트와 함께 배치된 Suspense 경계와 스켈레톤, Server Function 변경을 위한 useOptimistic을 활용하는 React Server Components 아키텍처를 상세히 설명하고, Next.js 16 Partial Prerendering과의 매핑도 다루었습니다.