mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-13 08:35:00 +03:00
fix(frontend): make the panel usable with screen readers (#6907)
* fix(frontend): make the panel usable with screen readers * fix(frontend): keep mobile tab names and the inbound expiry hint Review of #6907 found two gaps in the screen-reader pass: - On phone-width screens catTabLabel renders only the icon and names the tab by putting aria-label on it, but callers now pass that icon with aria-hidden for the desktop label, so every Settings, Xray and Host category tab lost its name under TalkBack. catTabLabel now clears aria-hidden on the icon it uses as the name. - DateTimePicker forwarded id and aria-label but not aria-describedby, so the inbound expiry hint ("leave blank to never expire") was never attached. It now forwards it on both the Gregorian and Jalali input.
This commit is contained in:
@@ -80,7 +80,7 @@ export default function HappSettingsContent({
|
||||
{
|
||||
key: 'routing',
|
||||
label: catTabLabel(
|
||||
<BranchesOutlined />,
|
||||
<BranchesOutlined aria-hidden />,
|
||||
t('pages.settings.subHappGroupRouting'),
|
||||
isMobile,
|
||||
),
|
||||
@@ -136,7 +136,7 @@ export default function HappSettingsContent({
|
||||
title={t('pages.settings.subHappVisualBuilder')}
|
||||
description={t('pages.settings.subHappVisualBuilderDesc')}
|
||||
>
|
||||
<Button icon={<BuildOutlined />} onClick={() => setIsModalOpen(true)}>
|
||||
<Button icon={<BuildOutlined aria-hidden />} onClick={() => setIsModalOpen(true)}>
|
||||
{t('pages.settings.subHappVisualBuilder')}
|
||||
</Button>
|
||||
</SettingListItem>
|
||||
@@ -182,7 +182,7 @@ export default function HappSettingsContent({
|
||||
{
|
||||
key: 'appearance',
|
||||
label: catTabLabel(
|
||||
<DesktopOutlined />,
|
||||
<DesktopOutlined aria-hidden />,
|
||||
t('pages.settings.subHappGroupThemes'),
|
||||
isMobile,
|
||||
),
|
||||
@@ -284,6 +284,7 @@ export default function HappSettingsContent({
|
||||
>
|
||||
<Space orientation="vertical" style={{ width: '100%' }}>
|
||||
<Input
|
||||
aria-label={t('pages.settings.subHappColorProfile')}
|
||||
value={allSetting.subHappColorProfile}
|
||||
placeholder='{"serverRowBackgroundColor":"#21003D67"} or resetcolors'
|
||||
onChange={(e) => updateSetting({ subHappColorProfile: e.target.value })}
|
||||
@@ -326,7 +327,7 @@ export default function HappSettingsContent({
|
||||
{
|
||||
key: 'network',
|
||||
label: catTabLabel(
|
||||
<ThunderboltOutlined />,
|
||||
<ThunderboltOutlined aria-hidden />,
|
||||
t('pages.settings.subHappGroupNetwork'),
|
||||
isMobile,
|
||||
),
|
||||
@@ -493,7 +494,7 @@ export default function HappSettingsContent({
|
||||
{
|
||||
key: 'failover',
|
||||
label: catTabLabel(
|
||||
<CloudSyncOutlined />,
|
||||
<CloudSyncOutlined aria-hidden />,
|
||||
t('pages.settings.subHappGroupFailover'),
|
||||
isMobile,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user