c6799bc3c2
- 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 |
||
---|---|---|
.. | ||
abstracts | ||
base | ||
components | ||
elements | ||
linux | ||
mac | ||
preferences | ||
themes | ||
win | ||
xulElementPatches | ||
_zotero.scss | ||
about.scss | ||
errorReport.scss | ||
feedAbstract.scss | ||
merge.scss | ||
preferences.scss | ||
progressQueueDialog.scss | ||
progressWindow.scss | ||
scaffold.scss | ||
zotero-mac.scss | ||
zotero-unix.scss | ||
zotero-win.scss |