diff --git a/packages/desktop-client/src/components/NotesButton.tsx b/packages/desktop-client/src/components/NotesButton.tsx index 76d4c9a9aca10dad44e767494b53abb3035804dc..59ab1112259c6a6bcdf30d464264c5827dc2b2dc 100644 --- a/packages/desktop-client/src/components/NotesButton.tsx +++ b/packages/desktop-client/src/components/NotesButton.tsx @@ -188,6 +188,7 @@ export default function NotesButton({ > <Button type="bare" + aria-label="View notes" className={!hasNotes && !tooltipOpen ? 'hover-visible' : ''} style={{ color: defaultColor, diff --git a/packages/desktop-client/src/components/Notifications.tsx b/packages/desktop-client/src/components/Notifications.tsx index 17fb09f8563eb2a88ae2071931d301b14fb5700d..a56c529187d9f87e53eb095c22a4e14f4976cb69 100644 --- a/packages/desktop-client/src/components/Notifications.tsx +++ b/packages/desktop-client/src/components/Notifications.tsx @@ -197,6 +197,7 @@ function Notification({ {sticky && ( <Button type="bare" + aria-label="Close" style={{ flexShrink: 0, color: 'currentColor' }} onClick={onRemove} > diff --git a/packages/desktop-client/src/components/ThemeSelector.tsx b/packages/desktop-client/src/components/ThemeSelector.tsx index 1332c30be204ba0218cd33afddd9fa37e109f954..e780bfe296d6b68cc5b7b09ad8476ce00c3271d0 100644 --- a/packages/desktop-client/src/components/ThemeSelector.tsx +++ b/packages/desktop-client/src/components/ThemeSelector.tsx @@ -21,6 +21,7 @@ export function ThemeSelector({ style }: ThemeSelectorProps) { return isNarrowWidth ? null : ( <Button type="bare" + aria-label="Switch theme" onClick={() => { saveGlobalPrefs({ theme: theme === 'dark' ? 'light' : 'dark', diff --git a/packages/desktop-client/src/components/Titlebar.tsx b/packages/desktop-client/src/components/Titlebar.tsx index 5d8cc5089936215142ae536c9fcfbcdf1b376abf..aa55d08005e539521b16b44bf8baabfb670dfe50 100644 --- a/packages/desktop-client/src/components/Titlebar.tsx +++ b/packages/desktop-client/src/components/Titlebar.tsx @@ -114,6 +114,7 @@ function PrivacyButton({ style }) { return ( <Button type="bare" + aria-label={`${isPrivacyEnabled ? 'Disable' : 'Enable'} privacy mode`} onClick={() => savePrefs({ isPrivacyEnabled: !isPrivacyEnabled })} style={style} > @@ -227,6 +228,7 @@ export function SyncButton({ style, isMobile = false }: SyncButtonProps) { <Button type="bare" + aria-label="Sync" style={ isMobile ? { diff --git a/packages/desktop-client/src/components/UpdateNotification.tsx b/packages/desktop-client/src/components/UpdateNotification.tsx index 95b4051adee44431fa8c37b8bae1ccacd2cfcc8f..6826f8272b37db4416571fe67f1379420b0ffde7 100644 --- a/packages/desktop-client/src/components/UpdateNotification.tsx +++ b/packages/desktop-client/src/components/UpdateNotification.tsx @@ -77,6 +77,7 @@ export default function UpdateNotification() { ) <Button type="bare" + aria-label="Close" style={{ display: 'inline', padding: '1px 7px 2px 7px' }} onClick={() => closeNotification(setAppState)} > diff --git a/packages/desktop-client/src/components/accounts/Header.js b/packages/desktop-client/src/components/accounts/Header.js index 0dc588443fc8d371f13b9edf8f51f26c9ded81fb..ab40a636894f96cd0179a82138a764d42bfbc873 100644 --- a/packages/desktop-client/src/components/accounts/Header.js +++ b/packages/desktop-client/src/components/accounts/Header.js @@ -168,6 +168,7 @@ export function AccountHeader({ )} <Button type="bare" + aria-label="Edit account name" className="hover-visible" onClick={() => onExposeName(true)} > diff --git a/packages/desktop-client/src/components/budget/BudgetTotals.tsx b/packages/desktop-client/src/components/budget/BudgetTotals.tsx index fbcc9aca99855f0723e56cf64ae60f9563b7718c..52fb650727d4c48d34daea080cd0168cfe90fd3a 100644 --- a/packages/desktop-client/src/components/budget/BudgetTotals.tsx +++ b/packages/desktop-client/src/components/budget/BudgetTotals.tsx @@ -55,6 +55,7 @@ const BudgetTotals = memo(function BudgetTotals({ <View style={{ flexGrow: '1' }}>Category</View> <Button type="bare" + aria-label="Menu" onClick={() => { setMenuOpen(true); }} diff --git a/packages/desktop-client/src/components/budget/MobileBudgetTable.js b/packages/desktop-client/src/components/budget/MobileBudgetTable.js index 43dd2114cdbc6a78111647e38b55bfb585bf76d7..a02840ce508570c3c62d194ba28aa0c21e7b1503 100644 --- a/packages/desktop-client/src/components/budget/MobileBudgetTable.js +++ b/packages/desktop-client/src/components/budget/MobileBudgetTable.js @@ -349,6 +349,7 @@ const ExpenseCategory = memo(function ExpenseCategory({ <> <Button type="bare" + aria-label="Menu" style={{ padding: 10 }} {...tooltip.getOpenEvents()} > @@ -633,6 +634,7 @@ const ExpenseGroupTotals = memo(function ExpenseGroupTotals({ <> <Button type="bare" + aria-label="Menu" style={{ padding: 10 }} {...tooltip.getOpenEvents()} > @@ -887,6 +889,7 @@ const IncomeGroupTotals = memo(function IncomeGroupTotals({ <> <Button type="bare" + aria-label="Menu" style={{ padding: 10 }} {...tooltip.getOpenEvents()} > @@ -1091,6 +1094,7 @@ const IncomeCategory = memo(function IncomeCategory({ <> <Button type="bare" + aria-label="Menu" style={{ padding: 10 }} {...tooltip.getOpenEvents()} > @@ -2107,6 +2111,7 @@ function BudgetHeader({ <> <Button type="bare" + aria-label="Menu" hoveredStyle={{ color: theme.mobileHeaderText, background: theme.mobileHeaderTextHover, diff --git a/packages/desktop-client/src/components/budget/report/budgetsummary/BudgetSummary.tsx b/packages/desktop-client/src/components/budget/report/budgetsummary/BudgetSummary.tsx index 9a5bdb12cf9747ec8c7b321701ee236b08bd9277..d1f726a7ed5e1caf478fe9cca8629895ce5fb133 100644 --- a/packages/desktop-client/src/components/budget/report/budgetsummary/BudgetSummary.tsx +++ b/packages/desktop-client/src/components/budget/report/budgetsummary/BudgetSummary.tsx @@ -84,6 +84,7 @@ export default function BudgetSummary({ month }: BudgetSummaryProps) { > <Button type="bare" + aria-label={`${collapsed ? 'Expand' : 'Collapse'} month summary`} className="hover-visible" onClick={onToggleSummaryCollapse} > @@ -129,7 +130,7 @@ export default function BudgetSummary({ month }: BudgetSummaryProps) { /> </View> <View style={{ userSelect: 'none' }}> - <Button type="bare" onClick={onMenuOpen}> + <Button type="bare" aria-label="Menu" onClick={onMenuOpen}> <DotsHorizontalTriple width={15} height={15} diff --git a/packages/desktop-client/src/components/budget/rollover/budgetsummary/BudgetSummary.tsx b/packages/desktop-client/src/components/budget/rollover/budgetsummary/BudgetSummary.tsx index 8c7c3bb038191a9d66bbaf666c44075604e0f3b9..5cbf8f573430560bcde050b888d4d761f871314a 100644 --- a/packages/desktop-client/src/components/budget/rollover/budgetsummary/BudgetSummary.tsx +++ b/packages/desktop-client/src/components/budget/rollover/budgetsummary/BudgetSummary.tsx @@ -86,6 +86,7 @@ export default function BudgetSummary({ > <Button type="bare" + aria-label={`${collapsed ? 'Expand' : 'Collapse'} month summary`} className="hover-visible" onClick={onToggleSummaryCollapse} > @@ -132,7 +133,7 @@ export default function BudgetSummary({ /> </View> <View style={{ userSelect: 'none', marginLeft: 2 }}> - <Button type="bare" onClick={onMenuOpen}> + <Button type="bare" aria-label="Menu" onClick={onMenuOpen}> <DotsHorizontalTriple width={15} height={15} diff --git a/packages/desktop-client/src/components/manager/BudgetList.js b/packages/desktop-client/src/components/manager/BudgetList.js index 6725c039f9143a87c236d2ad804ce6f86670f714..0f57c29f954266d28fac6acae4e86af69b96eced 100644 --- a/packages/desktop-client/src/components/manager/BudgetList.js +++ b/packages/desktop-client/src/components/manager/BudgetList.js @@ -63,6 +63,7 @@ function DetailButton({ state, onDelete }) { <View> <Button type="bare" + aria-label="Menu" onClick={e => { e.stopPropagation(); setMenuOpen(true); @@ -235,6 +236,7 @@ function RefreshButton({ onRefresh }) { return ( <Button type="bare" + aria-label="Refresh" style={{ padding: 10, marginRight: 5 }} onClick={_onRefresh} > diff --git a/packages/desktop-client/src/components/schedules/SchedulesTable.tsx b/packages/desktop-client/src/components/schedules/SchedulesTable.tsx index 248136fea10b626622f49161150fb3111a3a5c39..149cb6fd1889ae43e72211197459bcc2c7dfe759 100644 --- a/packages/desktop-client/src/components/schedules/SchedulesTable.tsx +++ b/packages/desktop-client/src/components/schedules/SchedulesTable.tsx @@ -98,6 +98,7 @@ function OverflowMenu({ <View> <Button type="bare" + aria-label="Menu" onClick={e => { e.stopPropagation(); setOpen(true); diff --git a/packages/desktop-client/src/components/select/RecurringSchedulePicker.js b/packages/desktop-client/src/components/select/RecurringSchedulePicker.js index 1d8fdfb58fb30946963b3e249f6542e8cb338214..2c5b47c16e7639f53ce5e82981810beda5ab8497 100644 --- a/packages/desktop-client/src/components/select/RecurringSchedulePicker.js +++ b/packages/desktop-client/src/components/select/RecurringSchedulePicker.js @@ -243,6 +243,7 @@ function MonthlyPatterns({ config, dispatch }) { /> <Button type="bare" + aria-label="Remove recurrence" style={{ padding: 7 }} onClick={() => dispatch({ @@ -255,6 +256,7 @@ function MonthlyPatterns({ config, dispatch }) { </Button> <Button type="bare" + aria-label="Add recurrence" style={{ padding: 7, marginLeft: 5 }} onClick={() => dispatch({ type: 'add-recurrence' })} > diff --git a/packages/desktop-client/src/components/sidebar/ToggleButton.tsx b/packages/desktop-client/src/components/sidebar/ToggleButton.tsx index ddc1fbabef40b23f9f4edaa7eb209c43052f04b8..69c7dfe4486b60015bb565adfb95e3f2cd3198d1 100644 --- a/packages/desktop-client/src/components/sidebar/ToggleButton.tsx +++ b/packages/desktop-client/src/components/sidebar/ToggleButton.tsx @@ -15,7 +15,12 @@ type ToggleButtonProps = { function ToggleButton({ style, isFloating, onFloat }: ToggleButtonProps) { return ( <View className="float" style={{ ...style, flexShrink: 0 }}> - <Button type="bare" onClick={onFloat} color={theme.buttonMenuBorder}> + <Button + type="bare" + aria-label={`${isFloating ? 'Pin' : 'Unpin'} sidebar`} + onClick={onFloat} + color={theme.buttonMenuBorder} + > {isFloating ? ( <Pin style={{ diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.js b/packages/desktop-client/src/components/transactions/TransactionsTable.js index c0288def8a989232f149dc6b165a8c54a77dee1d..4710d7d89ed765dbaba07b0b421404ac2b130b7c 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.js +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.js @@ -663,6 +663,7 @@ function PayeeIcons({ {transferAccount && ( <Button type="bare" + aria-label="Transfer" style={buttonStyle} onClick={e => { e.stopPropagation(); diff --git a/packages/desktop-client/src/components/util/AmountInput.tsx b/packages/desktop-client/src/components/util/AmountInput.tsx index 4c830ce4096e45587331db5363c9fb4729daecd2..e4e57e0c7a37e7911e8d449093f3aa260c139c9d 100644 --- a/packages/desktop-client/src/components/util/AmountInput.tsx +++ b/packages/desktop-client/src/components/util/AmountInput.tsx @@ -88,6 +88,7 @@ export function AmountInput({ leftContent={ <Button type="bare" + aria-label={`Make ${negative ? 'positive' : 'negative'}`} style={{ padding: '0 7px' }} onPointerUp={onSwitch} onPointerDown={e => e.preventDefault()} diff --git a/upcoming-release-notes/2025.md b/upcoming-release-notes/2025.md new file mode 100644 index 0000000000000000000000000000000000000000..2571d0a9427d599d4375aa8d4ac3b3cda5d5fb1d --- /dev/null +++ b/upcoming-release-notes/2025.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MikesGlitch] +--- + +Adding aria-labels to some buttons for greater accessibility