From 59299c69ffce78bd4f2207ed3a7eb9484bd042a8 Mon Sep 17 00:00:00 2001 From: Echo Date: Thu, 2 Apr 2026 16:47:11 +0200 Subject: [PATCH] Profile redesign: Add alt to avatar and header (#38532) --- app/javascript/mastodon/api_types/accounts.ts | 2 ++ app/javascript/mastodon/components/avatar.tsx | 4 +++- .../features/account_timeline/components/account_header.tsx | 5 +++-- app/javascript/mastodon/models/account.ts | 2 ++ app/javascript/testing/factories.ts | 2 ++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/api_types/accounts.ts b/app/javascript/mastodon/api_types/accounts.ts index 0a5e847e8e..1c340c387a 100644 --- a/app/javascript/mastodon/api_types/accounts.ts +++ b/app/javascript/mastodon/api_types/accounts.ts @@ -37,6 +37,7 @@ export interface BaseApiAccountJSON { acct: string; avatar: string; avatar_static: string; + avatar_description: string; bot: boolean; created_at: string; discoverable?: boolean; @@ -50,6 +51,7 @@ export interface BaseApiAccountJSON { group: boolean; header: string; header_static: string; + header_description: string; id: string; last_status_at: string; locked: boolean; diff --git a/app/javascript/mastodon/components/avatar.tsx b/app/javascript/mastodon/components/avatar.tsx index ced733b5d7..e2da16703e 100644 --- a/app/javascript/mastodon/components/avatar.tsx +++ b/app/javascript/mastodon/components/avatar.tsx @@ -13,6 +13,7 @@ interface Props { account: | Pick | undefined; // FIXME: remove `undefined` once we know for sure its always there + alt?: string; size?: number; style?: React.CSSProperties; inline?: boolean; @@ -25,6 +26,7 @@ interface Props { export const Avatar: React.FC = ({ account, + alt = '', animate = autoPlayGif, size = 20, inline = false, @@ -65,7 +67,7 @@ export const Avatar: React.FC = ({ style={style} > {src && !error && ( - + {alt} )} {counter && ( diff --git a/app/javascript/mastodon/features/account_timeline/components/account_header.tsx b/app/javascript/mastodon/features/account_timeline/components/account_header.tsx index cdafd5a55b..e717a20c80 100644 --- a/app/javascript/mastodon/features/account_timeline/components/account_header.tsx +++ b/app/javascript/mastodon/features/account_timeline/components/account_header.tsx @@ -72,7 +72,7 @@ export const AccountHeader: React.FC<{ modalType: 'IMAGE', modalProps: { src: account.avatar, - alt: '', + alt: account.avatar_description, }, }), ); @@ -120,7 +120,7 @@ export const AccountHeader: React.FC<{ {!suspendedOrHidden && ( )} @@ -147,6 +147,7 @@ export const AccountHeader: React.FC<{ > diff --git a/app/javascript/mastodon/models/account.ts b/app/javascript/mastodon/models/account.ts index f13d1c6831..f2523cf334 100644 --- a/app/javascript/mastodon/models/account.ts +++ b/app/javascript/mastodon/models/account.ts @@ -62,6 +62,7 @@ export const accountDefaultValues: AccountShape = { acct: '', avatar: '', avatar_static: '', + avatar_description: '', bot: false, created_at: '', discoverable: false, @@ -78,6 +79,7 @@ export const accountDefaultValues: AccountShape = { group: false, header: '', header_static: '', + header_description: '', id: '', last_status_at: '', locked: false, diff --git a/app/javascript/testing/factories.ts b/app/javascript/testing/factories.ts index e345e08351..8ac03ec2ad 100644 --- a/app/javascript/testing/factories.ts +++ b/app/javascript/testing/factories.ts @@ -25,6 +25,7 @@ export const accountFactory: FactoryFunction = ({ acct: 'testuser', avatar: '/avatars/original/missing.png', avatar_static: '/avatars/original/missing.png', + avatar_description: '', username: 'testuser', display_name: 'Test User', bot: false, @@ -42,6 +43,7 @@ export const accountFactory: FactoryFunction = ({ group: false, header: '/header.png', header_static: '/header_static.png', + header_description: '', indexable: true, last_status_at: '2023-01-01', locked: false,