diff --git a/packages/core/src/List/List.tsx b/packages/core/src/List/List.tsx index dedd900d857..0fe516ab6c3 100644 --- a/packages/core/src/List/List.tsx +++ b/packages/core/src/List/List.tsx @@ -152,7 +152,6 @@ export function List({ style, 'data-testid': testId, ref, - ...rest }: ListProps) { const headerId = useId(); const isOrdered = listStyle === 'decimal'; @@ -167,7 +166,14 @@ export function List({ } data-testid={testId} + aria-labelledby={header != null ? headerId : undefined} {...(isOrdered && start != null && start !== 1 ? {start} : {})} + // The base list style always sets list-style-type: none (markers are + // custom-rendered by ListItem), and Safari/VoiceOver drops implicit + // list semantics for lists styled with list-style: none. The explicit + // role restores "list, N items" announcements for every listStyle + // variant. + role="list" {...mergeProps( themeProps('list', {density, listStyle}), stylex.props( @@ -181,17 +187,7 @@ export function List({ ), className, style, - )} - {...rest} - // The base list style always sets list-style-type: none (markers are - // custom-rendered by ListItem), and Safari/VoiceOver drops implicit - // list semantics for lists styled with list-style: none. The explicit - // role restores "list, N items" announcements for every listStyle - // variant. - role="list" - // Only emitted when there is a header to point at, so a headerless list - // can still be named by a caller's aria-labelledby. - {...(header != null ? {'aria-labelledby': headerId} : {})}> + )}> {children} ); diff --git a/packages/core/src/Markdown/Markdown.tsx b/packages/core/src/Markdown/Markdown.tsx index 330a5283874..813e44eb1a9 100644 --- a/packages/core/src/Markdown/Markdown.tsx +++ b/packages/core/src/Markdown/Markdown.tsx @@ -1627,7 +1627,6 @@ export function Markdown({ className, style, 'data-testid': testId, - ...rest }: MarkdownProps): React.ReactElement { const t = useTranslator(); const LinkComponent = useLinkComponent(); @@ -1756,8 +1755,7 @@ export function Markdown({ stylex.props(styles.root, styles.inlineRoot, xstyle), className, style, - )} - {...rest}> + )}> {inlineNodes.map((node, i) => renderInline( node, @@ -1782,6 +1780,7 @@ export function Markdown({ const rendered = (
} data-testid={testId} {...mergeProps( @@ -1789,9 +1788,7 @@ export function Markdown({ stylex.props(styles.root, xstyle), className, style, - )} - {...rest} - role="document"> + )}> {blocks.map((block, i) => renderBlock( block, diff --git a/packages/core/src/MetadataList/MetadataListItem.tsx b/packages/core/src/MetadataList/MetadataListItem.tsx index 5dbb1a37372..6bfffa953e8 100644 --- a/packages/core/src/MetadataList/MetadataListItem.tsx +++ b/packages/core/src/MetadataList/MetadataListItem.tsx @@ -144,7 +144,6 @@ export function MetadataListItem({ style, 'data-testid': testId, ref, - ...rest }: MetadataListItemProps) { const ctx = use(MetadataListContext); const labelPosition = ctx?.labelConfig.position ?? 'start'; @@ -171,8 +170,7 @@ export function MetadataListItem({ stylex.props(styles.stackedWrapper, xstyle), className, style, - )} - {...rest}> + )}>
{labelContent}
{children}
@@ -190,8 +188,7 @@ export function MetadataListItem({ stylex.props(styles.label, xstyle), className, style, - )} - {...rest}> + )}> {labelContent}
+ )}> {children}
diff --git a/packages/core/src/Timestamp/Timestamp.tsx b/packages/core/src/Timestamp/Timestamp.tsx index 85e2c1df250..6518bd5849a 100644 --- a/packages/core/src/Timestamp/Timestamp.tsx +++ b/packages/core/src/Timestamp/Timestamp.tsx @@ -419,7 +419,6 @@ export function Timestamp({ style, ref, 'data-testid': testId, - ...rest }: TimestampProps) { const t = useTranslator(); const locale = useLocale(); @@ -531,16 +530,15 @@ export function Timestamp({