diff --git a/frontend/src/components/SkeletonLoader.tsx b/frontend/src/components/SkeletonLoader.tsx index 6f3b6e7f..47975001 100644 --- a/frontend/src/components/SkeletonLoader.tsx +++ b/frontend/src/components/SkeletonLoader.tsx @@ -33,11 +33,22 @@ const SkeletonLoader: React.FC = ({ // One placeholder beside the desktop shell, at most two below it. const skeletonCount = isDesktop ? 1 : Math.min(count, 2); + // The Spinner this replaces carried role="status"; without it a screen + // reader gets no signal at all while a section loads. Absolutely + // positioned by `sr-only`, so it never becomes a flex/grid item. + const status = ( + + {t('loading')} + + ); + + // Rendered inside a , so the status lives in the first cell. const renderTable = () => ( <> {[...Array(4)].map((_, idx) => ( + {idx === 0 && status} @@ -359,14 +370,11 @@ const SkeletonLoader: React.FC = ({ const render = componentMap[component] || componentMap.default; - // The Spinner this replaces carried role="status"; without it a screen - // reader gets no signal at all while a section loads. Absolutely - // positioned by `sr-only`, so it never becomes a flex/grid item. + if (component === 'fileTable') return render(); + return ( <> - - {t('loading')} - + {status} {render()} );