From 4a6b3575013278aca47cd1084458091b4055d2d1 Mon Sep 17 00:00:00 2001 From: tobi Date: Tue, 6 May 2025 08:06:52 +0000 Subject: [PATCH] [bugfix] Fixes to tablist, fileinput, checkbox (#4139) Some fixes to various frontend things: - Fix signup checkbox being height 0 on webkit - closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4136 - Fix wonky file input on chrome and webkit - closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4138 - Make tablist in interaction policies keyboard accessible with proper left/right + focus handling, see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/tablist_role Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4139 Co-authored-by: tobi Co-committed-by: tobi --- web/source/css/base.css | 5 +- .../settings/components/form/inputs.tsx | 8 +- .../moderation/domain-permissions/form.tsx | 7 +- .../interaction-policy-settings/index.tsx | 110 +++++++++++++----- 4 files changed, 85 insertions(+), 45 deletions(-) diff --git a/web/source/css/base.css b/web/source/css/base.css index 2122e5aae..615616725 100644 --- a/web/source/css/base.css +++ b/web/source/css/base.css @@ -493,9 +493,8 @@ section.with-form { gap: 0.4rem; & > input { - height: 100%; - width: 5%; - min-width: 1.2rem; + height: 1rem; + width: 1rem; align-self: center; } } diff --git a/web/source/settings/components/form/inputs.tsx b/web/source/settings/components/form/inputs.tsx index 1495e18f7..654f1a08f 100644 --- a/web/source/settings/components/form/inputs.tsx +++ b/web/source/settings/components/form/inputs.tsx @@ -122,10 +122,6 @@ export function FileInput({ label, field, ...props }: FileInputProps) { const ref = useRef(null); const { onChange, infoComponent } = field; const id = nanoid(); - const onClick = (e) => { - e.preventDefault(); - ref.current?.click(); - }; return (
@@ -133,11 +129,9 @@ export function FileInput({ label, field, ...props }: FileInputProps) { className="label-wrapper" htmlFor={id} tabIndex={0} - onClick={onClick} onKeyDown={(e) => { if (e.key === "Enter") { - e.preventDefault(); - onClick(e); + ref.current?.click(); } }} role="button" diff --git a/web/source/settings/views/moderation/domain-permissions/form.tsx b/web/source/settings/views/moderation/domain-permissions/form.tsx index 807648438..1c0eadba7 100644 --- a/web/source/settings/views/moderation/domain-permissions/form.tsx +++ b/web/source/settings/views/moderation/domain-permissions/form.tsx @@ -71,9 +71,6 @@ export default function ImportExportForm({ form, submitParse, parseResult }: Imp }, [exportResult]); const importFileRef = useRef(null); - const importFileOnClick = () => { - importFileRef.current?.click(); - }; return ( <> @@ -109,11 +106,9 @@ export default function ImportExportForm({ form, submitParse, parseResult }: Imp