[Glitch] Accessibility: Ensure focus order of post elements matches visual reading order
Port d20d04922672ed016029c40ed64798f341ebca91 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
3e25a5e792
commit
08dc44263d
@ -713,13 +713,14 @@ class Status extends ImmutablePureComponent {
|
||||
account={account}
|
||||
avatarSize={avatarSize}
|
||||
onHeaderClick={this.handleHeaderClick}
|
||||
>
|
||||
<StatusIcons
|
||||
status={status}
|
||||
mediaIcons={mediaIcons}
|
||||
settings={settings.get('status_icons')}
|
||||
/>
|
||||
</StatusHeader>
|
||||
contentBeforeDate={
|
||||
<StatusIcons
|
||||
status={status}
|
||||
mediaIcons={mediaIcons}
|
||||
settings={settings.get('status_icons')}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
);
|
||||
|
||||
return (
|
||||
|
||||
@ -18,7 +18,8 @@ export interface StatusHeaderProps {
|
||||
status: Status;
|
||||
account?: Account;
|
||||
avatarSize?: number;
|
||||
children?: ReactNode;
|
||||
contentBeforeDate?: ReactNode;
|
||||
contentAfterDate?: ReactNode;
|
||||
wrapperProps?: HTMLAttributes<HTMLDivElement>;
|
||||
displayNameProps?: DisplayNameProps;
|
||||
onHeaderClick?: MouseEventHandler<HTMLDivElement>;
|
||||
@ -31,10 +32,11 @@ export type StatusHeaderRenderFn = (args: StatusHeaderProps) => ReactNode;
|
||||
export const StatusHeader: FC<StatusHeaderProps> = ({
|
||||
status,
|
||||
account,
|
||||
children,
|
||||
className,
|
||||
avatarSize = 48,
|
||||
wrapperProps,
|
||||
contentBeforeDate,
|
||||
contentAfterDate,
|
||||
onHeaderClick,
|
||||
}) => {
|
||||
const statusAccount = status.get('account') as Account | undefined;
|
||||
@ -54,7 +56,8 @@ export const StatusHeader: FC<StatusHeaderProps> = ({
|
||||
avatarSize={avatarSize}
|
||||
/>
|
||||
|
||||
{children}
|
||||
{contentBeforeDate}
|
||||
{contentAfterDate}
|
||||
</header>
|
||||
);
|
||||
};
|
||||
|
||||
@ -226,17 +226,20 @@ export const QuotedStatus: React.FC<QuotedStatusProps> = ({
|
||||
const intl = useIntl();
|
||||
const headerRenderFn: StatusHeaderRenderFn = useCallback(
|
||||
(props) => (
|
||||
<StatusHeader {...props}>
|
||||
{onQuoteCancel && (
|
||||
<IconButton
|
||||
onClick={onQuoteCancel}
|
||||
className='status__quote-cancel'
|
||||
title={intl.formatMessage(quoteCancelMessage)}
|
||||
icon='cancel-fill'
|
||||
iconComponent={CancelFillIcon}
|
||||
/>
|
||||
)}
|
||||
</StatusHeader>
|
||||
<StatusHeader
|
||||
{...props}
|
||||
contentAfterDate={
|
||||
onQuoteCancel && (
|
||||
<IconButton
|
||||
onClick={onQuoteCancel}
|
||||
className='status__quote-cancel'
|
||||
title={intl.formatMessage(quoteCancelMessage)}
|
||||
icon='cancel-fill'
|
||||
iconComponent={CancelFillIcon}
|
||||
/>
|
||||
)
|
||||
}
|
||||
/>
|
||||
),
|
||||
[intl, onQuoteCancel],
|
||||
);
|
||||
|
||||
@ -22,18 +22,22 @@ export const renderPinnedStatusHeader: StatusHeaderRenderFn = ({
|
||||
return <StatusHeader {...args} />;
|
||||
}
|
||||
return (
|
||||
<StatusHeader {...args} className={classes.pinnedStatusHeader}>
|
||||
<Badge
|
||||
className={classes.pinnedBadge}
|
||||
icon={<Icon id='pinned' icon={IconPinned} />}
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='account.timeline.pinned'
|
||||
defaultMessage='Pinned'
|
||||
/>
|
||||
}
|
||||
/>
|
||||
</StatusHeader>
|
||||
<StatusHeader
|
||||
{...args}
|
||||
className={classes.pinnedStatusHeader}
|
||||
contentBeforeDate={
|
||||
<Badge
|
||||
className={classes.pinnedBadge}
|
||||
icon={<Icon id='pinned' icon={IconPinned} />}
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='account.timeline.pinned'
|
||||
defaultMessage='Pinned'
|
||||
/>
|
||||
}
|
||||
/>
|
||||
}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@ -126,4 +126,7 @@
|
||||
|
||||
.pinnedBadge {
|
||||
justify-self: end;
|
||||
|
||||
// Allow "click to open post" event to pass through
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
@ -1716,7 +1716,6 @@ body > [data-popper-placement] {
|
||||
|
||||
.status__quote-cancel {
|
||||
align-self: self-start;
|
||||
order: 5;
|
||||
}
|
||||
|
||||
.status__info {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user