점이나 막대 하나짜리 로더보다 화면을 더 넓게 차지해서, 카드 목록 전체나 갤러리처럼 "여러 항목을 한꺼번에 준비하는 중"이라는 인상을 주기 좋습니다. 항목 개수를 셀 수 있다면(예: 12개 중 5개 로드됨) 그 값을 progress-bar나 텍스트로 함께 보여주는 게 더 정확합니다.
3×3 같은 격자에서 각 칸의 animation-delay를 행(row)과 열(column)의 합에 비례하게 계산해두면(delay = (row + col) × 0.1초) 왼쪽 위에서 오른쪽 아래로 흐르는 대각선 웨이브가 만들어집니다. 칸마다 scale과 opacity를 함께 움직이면 단순히 밝기만 바뀌는 것보다 입체감이 생깁니다.
칸 수가 많아 화면을 오래 채우는 로딩이면 스켈레톤이 더 적합하고, 200ms 이내로 끝나는 대기라면 생략하세요. role="status"·aria-live="polite"를 감싸는 요소에 주고 칸은 장식이므로 aria-hidden="true"로 숨깁니다. prefers-reduced-motion에서는 대각선 웨이브 대신 격자 전체가 함께 옅게 깜빡이는 정도로 단순화할 수 있습니다.