Skip to content

Commit 72cf087

Browse files
authored
feat: Allow visiting and activating icons via keyboard navigation. (#532)
* feat: Support activating focused icons. * fix: Add a focus indicator to icons.
1 parent 174560b commit 72cf087

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/actions/enter.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
RenderedConnection,
1616
WorkspaceSvg,
1717
Field,
18+
icons,
1819
FocusableTreeTraverser,
1920
} from 'blockly/core';
2021

@@ -107,6 +108,8 @@ export class EnterAction {
107108
curNode instanceof WorkspaceSvg
108109
) {
109110
this.navigation.openToolboxOrFlyout(workspace);
111+
} else if (curNode instanceof icons.Icon) {
112+
curNode.onClick();
110113
}
111114
}
112115

test/index.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,10 @@
104104
.blocklyActiveFocus:is(.blocklyPath, .blocklyHighlightedConnectionPath),
105105
.blocklyKeyboardNavigation
106106
.blocklyActiveFocus.blocklyField
107-
> .blocklyFieldRect {
107+
> .blocklyFieldRect,
108+
.blocklyKeyboardNavigation
109+
.blocklyActiveFocus.blocklyIconGroup
110+
> .blocklyIconShape:first-child {
108111
stroke: var(--blockly-active-node-color);
109112
stroke-width: var(--blockly-selection-width);
110113
}
@@ -115,7 +118,10 @@
115118
),
116119
.blocklyKeyboardNavigation
117120
.blocklyPassiveFocus.blocklyField
118-
> .blocklyFieldRect {
121+
> .blocklyFieldRect,
122+
.blocklyKeyboardNavigation
123+
.blocklyPassiveFocus.blocklyIconGroup
124+
> .blocklyIconShape:first-child {
119125
stroke: var(--blockly-active-node-color);
120126
stroke-dasharray: 5px 3px;
121127
stroke-width: var(--blockly-selection-width);

0 commit comments

Comments
 (0)