From a14d8ab15130779e4d612f690cd3c806800875c6 Mon Sep 17 00:00:00 2001 From: Hermes SysOp Date: Thu, 12 Nov 2026 18:21:09 +0100 Subject: fix(newos4): the three glyph-only switch buttons now say what they do (v4.6.165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Asked "how do I switch?", I checked all six modes and found the controls were already uniform in function — every mode calls `api.exec('ui picker')` — but not in labelling: easy ⇄ Change view chat ⇄ Style workspace ⇄ Style studio ⇄ <- glyph only commander ⇄ <- glyph only cockpit ⇄ <- glyph only An unlabelled ⇄ on a phone is a guess. The three bare ones now carry title="Change view — pick another interface" and aria-label="Change view", which api.el() forwards via setAttribute. Verified on the served build: the snapshot reads `button "Change view"` in studio, and clicking it opens the picker with all seven options (six modes + "Keep the classic terminal"). No behaviour change — same handler, same picker; the control is now discoverable and announced by screen readers. --- modules/ext/ui-cockpit.js | 2 +- modules/ext/ui-commander.js | 2 +- modules/ext/ui-studio.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'modules/ext') diff --git a/modules/ext/ui-cockpit.js b/modules/ext/ui-cockpit.js index 73fbe9f..b9d33eb 100644 --- a/modules/ext/ui-cockpit.js +++ b/modules/ext/ui-cockpit.js @@ -74,7 +74,7 @@ body[data-ui-mode="cockpit"] #ui-root { display: grid; grid-template-rows: 1fr 1 const bar = api.el('div', { id: 'ck-term-bar' }); bar.appendChild(api.el('span', { class: 'title', text: 'terminal · F1-F8 focus · F5 refresh' })); - const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄' }); + const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄', title: 'Change view — pick another interface', 'aria-label': 'Change view' }); styleBtn.addEventListener('click', () => api.exec('ui picker')); bar.appendChild(styleBtn); const out = api.el('div', { id: 'ck-out' }); diff --git a/modules/ext/ui-commander.js b/modules/ext/ui-commander.js index 873d7cc..d64626a 100644 --- a/modules/ext/ui-commander.js +++ b/modules/ext/ui-commander.js @@ -101,7 +101,7 @@ body[data-ui-mode="commander"] #ui-root { display: grid; grid-template-columns: const bar = api.el('div', { id: 'cm-center-bar' }); bar.appendChild(api.el('span', { class: 'title', text: 'terminal' })); const palBtn = api.el('button', { class: 'wx11-btn', text: '⌘K' }); - const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄' }); + const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄', title: 'Change view — pick another interface', 'aria-label': 'Change view' }); styleBtn.addEventListener('click', () => api.exec('ui picker')); bar.appendChild(palBtn); bar.appendChild(styleBtn); diff --git a/modules/ext/ui-studio.js b/modules/ext/ui-studio.js index e8341f3..ca479da 100644 --- a/modules/ext/ui-studio.js +++ b/modules/ext/ui-studio.js @@ -52,7 +52,7 @@ body[data-ui-mode="studio"] #ui-root { display: grid; grid-template-columns: 1.1 const left = api.el('div', { id: 'st-left' }); const leftBar = api.el('div', { id: 'st-left-bar' }); leftBar.appendChild(api.el('span', { class: 'title', text: 'Chat' })); - const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄' }); + const styleBtn = api.el('button', { class: 'wx11-btn', text: '⇄', title: 'Change view — pick another interface', 'aria-label': 'Change view' }); styleBtn.addEventListener('click', () => api.exec('ui picker')); leftBar.appendChild(styleBtn); const chat = api.el('div', { id: 'st-chat' }); -- cgit v1.2.3