diff --git a/CHANGELOG.md b/CHANGELOG.md index c9ff048a3..5482ad32a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- **[Web]** Remove unnecessary `KeyboardListener` that was causing an extra Tab stop in focus traversal, improving keyboard navigation efficiency. + ## [11.4.2] - 2025-07-22 ### Fixed diff --git a/lib/src/editor/editor.dart b/lib/src/editor/editor.dart index f1b23db34..3d906bc0e 100644 --- a/lib/src/editor/editor.dart +++ b/lib/src/editor/editor.dart @@ -330,7 +330,7 @@ class QuillEditorState extends State ), ); - final editor = selectionEnabled + return selectionEnabled ? _selectionGestureDetectorBuilder.build( behavior: HitTestBehavior.translucent, detectWordBoundary: config.detectWordBoundary, @@ -339,22 +339,6 @@ class QuillEditorState extends State quillMagnifierBuilder: config.quillMagnifierBuilder, ) : child; - - if (kIsWeb) { - // Intercept RawKeyEvent on Web to prevent it from propagating to parents - // that might interfere with the editor key behavior, such as - // SingleChildScrollView. Thanks to @wliumelb for the workaround. - // See issue https://github.com/singerdmx/flutter-quill/issues/304 - return KeyboardListener( - onKeyEvent: (_) {}, - focusNode: FocusNode( - onKeyEvent: (node, event) => KeyEventResult.skipRemainingHandlers, - ), - child: editor, - ); - } - - return editor; } EmbedBuilder _getEmbedBuilder(Embed node) {