Files
payload/test
Riley Pearce 3c35d81fe5 fix(richtext-lexical): allow exiting the RTE with the keyboard in Firefox (#8654)
Closes #8653.

Originally this PR was for making the `IndentFeature` opt-in instead of
opt-out, which would have been a breaking change. After some discussion
it was determined it would be better if we could keep the
`IndentFeature` by default and instead come up with a custom escape key
solution to prevent keyboard users from becoming trapped in the editor.

These changes are my interpretation of how we can solve this problem in
a way that feels natural for a keyboard user. When a keyboard user
becomes trapped, the usual approach is to press the escape key (e.g.
modals) to be able to leave the current context and continue navigating.
These changes allow that to happen while minimising the cognitive load
by not needing to remember whether the `IndentFeature` is toggled on or
off.

I've also ensured the `IndentFeature` can actually be turned off if
consciously removed from the lexical editor features (previously it was
still enabled even if it was removed).

Ideally this should be handled on the lexical side in the
`TabIndentationPlugin` itself (I will begin to look into the feasibility
of this), but for now this should be suitable to ensure the experience
for keyboard users isn't completely blocked (there are a number of other
improvements that could be made but I will create more specific issues
for those).

Open to discussion and amendments. Once we're aligned on the approach
I'm happy to implement tests as needed.

### Before


https://github.com/user-attachments/assets/95183bb6-f36e-4b44-8c3b-d880c822d315

### After


https://github.com/user-attachments/assets/d34be50a-8f31-4b81-83d1-236d5ce9d8b5

---------

Co-authored-by: Germán Jabloñski <43938777+GermanJablo@users.noreply.github.com>
2024-11-27 16:53:19 -03:00
..
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-10-30 17:56:50 +00:00
2024-08-13 12:54:33 -04:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-07-23 13:44:44 -04:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-05-25 15:45:05 +00:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00
2024-11-11 13:59:05 -05:00