zotero/scss
Bogdan Abaev c6799bc3c2 itembox focus edits and refactoring (#4096)
- removed ztabindex logic from itemBox. It is no longer needed, adds
  unnecessary complexity and is likely at the root of multiple glitches
  if a plugin inserts an arbitrary row that does not have ztabindex set.
- if a creator row is deleted when the focus is inside of the row, focus
  another creator row to not loose the focus.
- more centralized button handling in `_ensureButtonsFocusable` and
  `_updateCreatorButtonsStatus`
- refactoring of hidden toolbarbuttons css so that the icons are still
  hidden and don't occupy space (if desired) but are still visible for
  screen readers, so they are focusable without JS changing their
  visibility (this with ztabindex removal fixes vpat 24)
- removed `escape_enter` event from `editable-text`. It was a workaround
  to know when itemBox should move focus back to itemTree. Unhandled
  Enter on an input or Escape should focus itemTree (or reader) from
  anywhere in the itemPane/contextPane (not just itemBox), so that logic
  is moved to itemDetails.js. To avoid conflicts with Shift-Enter, do
  not propagate that event outside of multiline editable-text. Fixes:
  #3896
- removed not necessary keyboard nav handling from itemDetails.js. It
  was only needed for mac, and is redundant if "Keyboard navigation"
  setting is on
- using `keydown` instead of `keypress` for itemDetails keyboard nav
  handling because `Enter` `keypress` does not seem to get out of
  `editable-text` but `keydown` does.
- old handleKeyPress from itemBox is no longer relevant for most
  elements, so it is removed and substituted with a dedicated handler
  just for creator row.
- moved the creator's paste handler into its own dedicated function
  from the autocomplete handler (which was confusing)
- special handling for `enter` and `escape` events on `editable-text`
  with autocomplete to not stop event propagation, so that the events
  can bubble and be handled in `itemDetails`. It avoids some cases of
  the focus being lost and returned to the `window`. It was unnecessary
  earlier due to `escape_enter` workaround but only within itemBox and
  only within itemPane.
- removed explicit tab navigation handling from `collapsible-section`
  header. Currently, it may get stuck when buttons are hidden (e.g. in
  the trash mode). It was only added to enable keyboard navigation on
  mac before special "Keyboard navigation" setting was discovered (it
  was never an issue on windows), so now it's easier to just let mozilla
  handle it.
- always use `getTitleField` to find and focus the proper title field in
  itemBox
- on shift-tab from the focused tab, just move focus to the first
  focusable element before the splitter without any special handling for
  attachments, notes and duplicates pane as before. It ensures a more
  consistent and predictable keyboard navigation, especially now that
  itemPane is fairly keyboard accessible.

Fixes: #4076
2024-05-21 02:45:19 -04:00
..
abstracts itembox focus edits and refactoring (#4096) 2024-05-21 02:45:19 -04:00
base Implement Windows redesign for native elements (#3727) 2024-03-02 02:51:55 -05:00
components Move "Show File" out of Locate menu and into File menu (#4124) 2024-05-15 05:50:42 -04:00
elements Item pane header: Don't reserve space for scrollbar 2024-05-17 11:38:35 -04:00
linux Fix titlebar button breakage on macOS (6f8a1095) 2024-04-05 14:18:38 +03:00
mac Fix menulist label misalignment on macOS 2024-05-02 11:00:05 -04:00
preferences Item pane header customization (#3791) 2024-05-10 08:23:26 -04:00
themes Use mixin to reduce theme-related code duplication 2024-04-12 12:33:26 +02:00
win Override tab color-scheme for Windows dark mode compat 2024-05-07 15:25:44 -04:00
xulElementPatches Prevent itemlist in classic cit and edit bibl dialogs from expanding 2024-04-16 11:47:01 +03:00
_zotero.scss _paneHeader.scss -> _itemPaneHeader.scss 2024-05-17 11:37:57 -04:00
about.scss Fix dialog background 2024-01-24 23:32:19 -05:00
errorReport.scss Implement Windows redesign for native elements (#3727) 2024-03-02 02:51:55 -05:00
feedAbstract.scss Feed abstract: Set color scheme automatically 2024-04-30 02:14:57 -04:00
merge.scss Fix merge window (#4130) 2024-05-19 00:58:14 -04:00
preferences.scss Preferences: Restore subpane Back button 2024-04-01 11:57:00 -04:00
progressQueueDialog.scss Fix progress queue dialog overflow 2024-04-25 06:25:20 -04:00
progressWindow.scss Update progress window to use SVG icons (#4047) 2024-04-30 05:32:54 -04:00
scaffold.scss fx115: Scaffold: Fix Tests listbox sizing 2024-04-22 15:02:30 -04:00
zotero-mac.scss Fix menulist label misalignment on macOS 2024-05-02 11:00:05 -04:00
zotero-unix.scss Implement Windows redesign for native elements (#3727) 2024-03-02 02:51:55 -05:00
zotero-win.scss Revert editable text style on Windows (#3828) 2024-03-11 02:25:26 -04:00