Commit Graph

102 Commits

Author SHA1 Message Date
Michael Telatynski
f632e2124f Switch AccessibleButton and derivatives to using forwardRef (#12054)
* Prevent Cypress typechecking react-sdk components without strict mode

This prevented us from switching to `forwardRef` in a bunch of places
due to it behaving different with & without strict mode.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update global.d.ts

* Switch AccessibleButton and derivatives to using `forwardRef`

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add missing ref={ref}

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Ensure RefObjects are used consistently

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Re-add WysiwygAutocomplete displayname

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix forwardRef types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove unused export

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Readd comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate types & comments

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-12-21 08:50:42 +00:00
Michael Telatynski
af31965866 Improve AccessibleButton & related types (#12075)
* Fix wrong type enum usage

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use improved type definition for forwardRef which enables Generic props

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Improve AccessibleButton & related Props types

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove useless comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2023-12-20 14:42:31 +00:00
Michael Telatynski
5cb8cbd893 Migrate more strings to translation keys (#11613) 2023-09-19 17:16:38 +01:00
Michael Telatynski
8c35abbb04 Migrate more strings to translation keys (#11601) 2023-09-13 09:30:56 +01:00
Michael Telatynski
85be845f16 Migrate more strings to translation keys (#11532) 2023-09-05 17:52:06 +01:00
Michael Telatynski
f88d76e2ea Migrate more strings to translation keys (#11499) 2023-09-01 08:26:48 +01:00
Michael Telatynski
6b3243b27b Migrate more strings to translation keys (#11498) 2023-08-31 11:22:10 +01:00
Michael Telatynski
c2e814ce95 Migrate keyboard translations to IDs (#11452)
* Migrate keyboard translations to IDs

```
./node_modules/matrix-web-i18n/scripts/rekey.js "Page Up" "keyboard|page_up"
./node_modules/matrix-web-i18n/scripts/rekey.js "Page Down" "keyboard|page_down"
./node_modules/matrix-web-i18n/scripts/rekey.js --copy "Home" "keyboard|home"
./node_modules/matrix-web-i18n/scripts/rekey.js "Esc" "keyboard|escape"
./node_modules/matrix-web-i18n/scripts/rekey.js "Enter" "keyboard|enter"
./node_modules/matrix-web-i18n/scripts/rekey.js "End" "keyboard|end"
./node_modules/matrix-web-i18n/scripts/rekey.js "Alt" "keyboard|alt"
./node_modules/matrix-web-i18n/scripts/rekey.js "Ctrl" "keyboard|control"
./node_modules/matrix-web-i18n/scripts/rekey.js "Shift" "keyboard|shift"
./node_modules/matrix-web-i18n/scripts/rekey.js --copy "Space" "keyboard|space"
./node_modules/matrix-web-i18n/scripts/rekey.js "[number]" "keyboard|number"
```

* i18n

* Revert strings

* i18n

* i18n
2023-08-23 11:49:29 +00:00
Michael Telatynski
aa6e3654b8 Create more common_* common strings (#11439) 2023-08-23 10:25:33 +01:00
Michael Telatynski
ac70f7ac9b Fix instances of double translation and guard translation calls using typescript (#11443)
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2023-08-22 16:32:05 +01:00
Michael Telatynski
d9d53870e3 Fix roving tab index getting confused after dragging space order (#10901)
* Fix roving tab index getting confused after dragging space order

* Fix roving tab index for drag reordering

* delint

* Add test

* Make types happier

* Remove snapshot
2023-05-17 14:18:21 +00:00
Michael Telatynski
6a3f59cc76 Make more of the codebase conform to strict types (#10857) 2023-05-16 14:25:43 +01:00
Michael Telatynski
a1a087f755 Fix usages of ARIA tabpanel (#10628)
* RovingTabIndex handle looping around start/end

* Make TabbedView expose aria tabpanel/tablist/tab roles

* Fix right panel being wrongly specified as aria tabs

Not all right panels map to the top right header buttons so we cannot describe it as a tabpanel relation

* tsc strict

* Update snapshots

* Fix ARIA AXE violation

* Update tests
2023-04-25 09:31:54 +01:00
Michael Telatynski
2da52372d4 Add arrow key controls to emoji and reaction pickers (#10637)
* Add arrow key controls to emoji and reaction pickers

* Iterate types

* Switch to using aria-activedescendant

* Add tests

* Fix tests

* Iterate

* Update test

* Tweak header keyboard navigation behaviour

* Also handle scrolling on left/right arrow keys

* Iterate
2023-04-20 14:56:21 +00:00
Michael Telatynski
e5b1b7b632 Make composer format bar an aria toolbar (#10583)
* Make composer format bar an aria toolbar

* Iterate

* Iterate

* Update snapshot
2023-04-12 13:58:38 +00:00
Michael Telatynski
127a3b667c Conform more of the codebase to strictNullChecks (#10350
* Conform more of the codebase to `strictNullChecks`

* Iterate

* Generics ftw

* Iterate
2023-03-10 14:55:06 +00:00
Michael Telatyński
eca28ac2f3 Apply strictNullChecks to src/settings/* (#10252
* Apply strictNullChecks to src/settings/*

* Fix inherited types
2023-02-28 10:24:59 +00:00
Michael Telatynski
61a63e47f4 Comply with noImplicitAny (#9940)
* Stash noImplicitAny work

* Stash

* Fix imports

* Iterate

* Fix tests

* Delint

* Fix tests
2023-02-13 11:39:16 +00:00
Michael Telatynski
9743852380 Improve typescript null checking in places (#10073 (#10073
* Improve typescript null checking in places

* Iterate

* Fix Timer.ts
2023-02-03 15:27:47 +00:00
Michael Telatynski
030b7e90bf Enable @typescript-eslint/explicit-function-return-type in /src (#9788)
* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
2023-01-12 13:25:14 +00:00
Michael Weimann
526645c791 Apply prettier formatting 2022-12-12 12:24:14 +01:00
owi92
3c5ff30177 Fix quote shortcut for most keyboard layouts (#9298) 2022-09-29 15:51:50 +00:00
Šimon Brandner
8c67984f50 Remove mock from KeyboardShortcuts.ts (#9034) 2022-07-11 09:56:20 +02:00
Janne Mareike Koschinski
8b841951db Move New Search Experience out of beta (#8859) 2022-06-28 12:02:08 +02:00
Michael Telatynski
964c60d086 Apply corrections identified by SonarQube (#8457) 2022-05-03 22:04:37 +01:00
Janne Mareike Koschinski
ee2ee3c08c Implement new Read Receipt design (#8389)
* feat: introduce new alignment types for tooltip
* feat: introduce new hook for tooltips
* feat: allow using onFocus callback for RovingAccessibleButton
* feat: allow using custom class for ContextMenu
* feat: allow setting tab index for avatar
* refactor: move read receipts out of event tile
* feat: implement new read receipt design
* feat: update SentReceipt to match new read receipts as well
2022-04-22 17:09:44 +02:00
Suguru Hirahara
9b2944294c Replace "community" with "space" of keyboard shortcuts (#7994) 2022-03-23 07:52:05 +00:00
Alexander Stephan
26e6f8deca Improve formatting features in the editor (#7104)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-16 09:46:07 +00:00
Šimon Brandner
8d13e238b9 Keybinding code unification #6 (#8042) 2022-03-14 13:25:51 +00:00
Andy Balaam
a792097d02 Keyboard shortcut to open the sticker picker (#7985) 2022-03-08 15:05:36 +00:00
Šimon Brandner
a58b1e9d79 Document keyboard shortcuts (#7908) 2022-03-04 12:14:52 +00:00
Šimon Brandner
df591ee835 Make everything use the KeyBindingManager (#7907) 2022-02-28 16:05:52 +00:00
Šimon Brandner
93a9af7b3a Keybinding code unification #3 (#7850) 2022-02-23 09:12:04 +00:00
J. Ryan Stinnett
d79d5ceeac Fix keyboard shortcut icons on macOS (#7869) 2022-02-22 11:25:28 +00:00
Kerry
5b8d440406 type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Michael Telatynski
e2827b4082 Fix accessibility around the room list treeview and new search beta (#7856) 2022-02-21 15:46:13 +00:00
Šimon Brandner
81f52283cf Don't change KEYBOARD_SHORTCUTS and do some refactoring (#7818) 2022-02-16 15:24:00 +00:00
Michael Telatynski
226eed2a7f Hide Clear room list filter field shortcut if new search enabled (#7798) 2022-02-14 23:38:29 +00:00
Šimon Brandner
29cf22a521 Fix JumpToLatestMessage (#7715) 2022-02-03 17:22:41 +00:00
Šimon Brandner
a17d585a12 Work towards unifying KeyboardShortcuts and KeyBindingsDefaults #2 (#7674) 2022-01-31 15:55:45 +00:00
Šimon Brandner
57a5647079 Work towards unifying KeyboardShortcuts and KeyBindingsDefaults #1 (#7651) 2022-01-27 11:37:53 +00:00
UwUnyaa
debf4caade Add a keyboard shortcut to toggle hidden event visibility when labs are enabled. (#7584)
Notes: The keyboard shortcut is control (or cmd) shift h.
Signed-off-by: Katarzyna Stachura <uwunyaa@outlook.com>
2022-01-26 16:50:47 +00:00
Ajeya Bhat
e53427fce3 Changed MacOS hotkey for GoToHome view. (#7631) 2022-01-26 08:52:55 +00:00
Šimon Brandner
5f18e4888c Improve the look of the keyboard settings tab (#7562)
* First cut of new keyboard shortcuts

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Remove unused code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* i18n

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Amend shortcuts

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve CATEGORIES struct

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add tests for registerShortcut()

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplifie code tiny bit

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Translate ALTERNATE_KEY_NAME

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix `key` usage

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Export components for tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Write snapshot tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-24 11:33:27 +00:00
Šimon Brandner
1f298250b9 Make the Keyboard Shortcuts dialog into a settings tab (#7198) 2022-01-17 11:53:10 +00:00
Eric Eastwood
9289c0c90f Refactor ContextMenu to use RovingTabIndex (more consistent keyboard navigation accessibility) (#7353)
Split off from https://github.com/matrix-org/matrix-react-sdk/pull/7339
2021-12-17 11:08:56 -06:00
Michael Telatynski
a667677c57 Fix accessibility regressions (#7336)
* Fix room list roving treeview

New TooltipTarget & TextWithTooltip were not roving-accessible

* Fix programmatic focus management in roving tab index not triggering onFocus handler

* Fix toolbar no longer handling left & right arrows

* Fix roving tab index focus tracking on interactive element like context menu trigger

* Fix thread list context menu roving

* add comment

* fix comment

* Fix handling vertical arrows in the wrong direction

* iterate PR

* delint

* tidy up
2021-12-14 14:27:35 +00:00
Michael Telatynski
914b61239c Spotlight search labs (#7116) 2021-12-10 11:50:01 +00:00
Michael Telatynski
275e9c1d02 Update space panel expand mechanism (#7230) 2021-12-07 09:32:00 +00:00
Michael Telatynski
68604e3505 Tweak roving tab index focus behaviour (#7254) 2021-12-02 10:24:55 +00:00