Surface
화면의 층(바탕·종이·오버레이) 원시 요소.
- 출시 화면에서 사용
개요
미리보기
내용에 집중하는 면
예시
상태
바탕
내용에 집중하는 면종이
내용에 집중하는 면떠 있는 면
내용에 집중하는 면
쓰임 예
여백 작게
내용에 집중하는 면여백 크게
내용에 집중하는 면여백 없음
내용에 집중하는 면
이렇게 · 이렇게 하지 않기
- 이렇게 층은 세 단계만 쓴다. 구분은 채움으로 하고 그림자는 떠 있는 층에만 둔다. 반투명 층 위의 글자는 최악 합성 지점에서 대비를 잰다.
- 이렇게 층과 여백은 따로 고른다. 의미가 필요하면 Card나 Section을 쓴다.
- 이렇게 하지 않기 면을 세 겹 넘게 겹치지 않는다.
- 이렇게 하지 않기 색 면으로 상태를 표현하지 않는다.
토큰과 속성
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
level? | 'canvas' | 'paper' | 'overlay' | paper | 층. canvas = 페이지 바탕, paper = 내용 면, overlay = 떠 있는 면. 반전(inverse) 면은 없다. |
padding? | 'none' | 'sm' | 'md' | 'lg' | md | 안쪽 여백 0 / 16 / 24 / 32px(간격 토큰). |
as? | 'div' | 'section' | 'article' | 'aside' | div | 렌더 요소. section·article이면 aria-labelledby로 제목을 연결한다. |
children? | ReactNode | 내용에 집중하는 면 | 내용. |
| 그 밖의 속성 | — | — | id, aria-*, lang, dir 등 네이티브 속성은 그대로 전달된다. className·style은 받지 않는다. |
접근성
키보드: 해당 없음(비대화형).
- Surface 자체는 의미가 없다. 랜드마크가 필요하면 as와 aria-labelledby를 함께 쓴다.
- forced-colors에서 경계를 CanvasText 테두리로 그린다.