From 8e82d743e12db5e8f442cf6c5ccf86076ac32ad1 Mon Sep 17 00:00:00 2001 From: Laura Sach <5183697+lawsie@users.noreply.github.com> Date: Thu, 13 Aug 2026 10:28:38 +0100 Subject: [PATCH 1/3] Empty buttons --- ui/contextmenu.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/contextmenu.js b/ui/contextmenu.js index 35624f21..060ed740 100644 --- a/ui/contextmenu.js +++ b/ui/contextmenu.js @@ -661,6 +661,7 @@ export function initContextMenus(workspace) { const blockToolbar = document.createElement('div'); blockToolbar.className = 'fc-block-toolbar'; blockToolbar.setAttribute('role', 'toolbar'); + blockToolbar.setAttribute('aria-hidden', 'true'); document.body.appendChild(blockToolbar); // Keyboard-only overlay of shortcut-letter badges, one per visible button. @@ -1108,6 +1109,7 @@ export function initContextMenus(workspace) { : getToolbarLabel('view_in_canvas', 'View in canvas') ); blockToolbar.classList.add('visible'); + blockToolbar.removeAttribute('aria-hidden'); // Clear any stale badges from a previous keyboard selection; in keyboard // mode positionBlockToolbar() draws fresh ones (it also re-runs on block // move / viewport change to keep them aligned with the buttons). @@ -1124,6 +1126,7 @@ export function initContextMenus(workspace) { toolbarBlock = null; toolbarKeyboardMode = false; blockToolbar.classList.remove('visible'); + blockToolbar.setAttribute('aria-hidden', 'true'); clearBadges(); } From 4451a5c3bc3fadbfe860d946d80cfb9da37ec735 Mon Sep 17 00:00:00 2001 From: Laura Sach <5183697+lawsie@users.noreply.github.com> Date: Thu, 13 Aug 2026 10:56:25 +0100 Subject: [PATCH 2/3] Fix aria issues --- locale/en.js | 1 + main/blocklyinit.js | 42 ++++++++++++++++++++++++++++++++++++++++++ main/translation.js | 1 + 3 files changed, 44 insertions(+) diff --git a/locale/en.js b/locale/en.js index 3b98f7ae..22a3e376 100644 --- a/locale/en.js +++ b/locale/en.js @@ -1194,6 +1194,7 @@ export default { context_enable_option: 'Enable', add_comment: 'Add comment', delete_comment: 'Delete comment', + comment_text_label: 'Comment text', view_in_canvas: 'View in canvas', exit_canvas_view: 'Stop orbiting object', detach_block_option: 'Detach', diff --git a/main/blocklyinit.js b/main/blocklyinit.js index 768a5cc8..93509f71 100644 --- a/main/blocklyinit.js +++ b/main/blocklyinit.js @@ -753,16 +753,57 @@ export function initializeWorkspace() { } workspaceSearch.init(); workspaceSearch.setSearchPlaceholder(translate('workspace_search_placeholder')); + // @blockly/plugin-workspace-search's createTextInput() only sets a + // placeholder, never an accessible name. + workspaceSearch.inputElement?.setAttribute('aria-label', translate('workspace_search_placeholder')); window.flockWorkspaceSearch = workspaceSearch; + // Comment textareas (block-comment bubbles and standalone workspace + // comments both render a