WCAG: Review fixes - arrow keys, PageTab roles, AlertMessage
Add Up/Down arrow key navigation to Settings sidebar. Add Accessible.role: Accessible.PageTab to all 5 tab pages. Fix Loader status to use AlertMessage role per WCAG 4.1.3.
This commit is contained in:
@@ -161,7 +161,7 @@ ApplicationWindow {
|
|||||||
font.family: jetBrainsMono.name
|
font.family: jetBrainsMono.name
|
||||||
font.pixelSize: 11
|
font.pixelSize: 11
|
||||||
font.bold: true
|
font.bold: true
|
||||||
Accessible.role: Accessible.StaticText
|
Accessible.role: Accessible.AlertMessage
|
||||||
Accessible.name: "Loading status: " + text
|
Accessible.name: "Loading status: " + text
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
opacity: 1.0
|
opacity: 1.0
|
||||||
|
|||||||
@@ -282,7 +282,7 @@ ApplicationWindow {
|
|||||||
radius: width / 2
|
radius: width / 2
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
border.width: 2
|
border.width: 2
|
||||||
border.color: "#B794F6"
|
border.color: "#B794F6" // SettingsStyle.accent equivalent
|
||||||
visible: micContainer.activeFocus
|
visible: micContainer.activeFocus
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -226,6 +226,18 @@ Window {
|
|||||||
Accessible.role: Accessible.Tab
|
Accessible.role: Accessible.Tab
|
||||||
Keys.onReturnPressed: stack.currentIndex = index
|
Keys.onReturnPressed: stack.currentIndex = index
|
||||||
Keys.onSpacePressed: stack.currentIndex = index
|
Keys.onSpacePressed: stack.currentIndex = index
|
||||||
|
Keys.onDownPressed: {
|
||||||
|
if (index < navModel.count - 1) {
|
||||||
|
var nextItem = navBtnRoot.parent.children[index + 2]
|
||||||
|
if (nextItem && nextItem.forceActiveFocus) nextItem.forceActiveFocus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Keys.onUpPressed: {
|
||||||
|
if (index > 0) {
|
||||||
|
var prevItem = navBtnRoot.parent.children[index]
|
||||||
|
if (prevItem && prevItem.forceActiveFocus) prevItem.forceActiveFocus()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Behavior on color { ColorAnimation { duration: 150 } }
|
Behavior on color { ColorAnimation { duration: 150 } }
|
||||||
|
|
||||||
@@ -315,6 +327,7 @@ Window {
|
|||||||
|
|
||||||
// --- TAB: GENERAL ---
|
// --- TAB: GENERAL ---
|
||||||
ScrollView {
|
ScrollView {
|
||||||
|
Accessible.role: Accessible.PageTab
|
||||||
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
||||||
contentWidth: availableWidth
|
contentWidth: availableWidth
|
||||||
|
|
||||||
@@ -412,6 +425,7 @@ Window {
|
|||||||
|
|
||||||
// --- TAB: AUDIO ---
|
// --- TAB: AUDIO ---
|
||||||
ScrollView {
|
ScrollView {
|
||||||
|
Accessible.role: Accessible.PageTab
|
||||||
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
||||||
contentWidth: availableWidth
|
contentWidth: availableWidth
|
||||||
|
|
||||||
@@ -500,6 +514,7 @@ Window {
|
|||||||
|
|
||||||
// --- TAB: VISUALS ---
|
// --- TAB: VISUALS ---
|
||||||
ScrollView {
|
ScrollView {
|
||||||
|
Accessible.role: Accessible.PageTab
|
||||||
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
||||||
contentWidth: availableWidth
|
contentWidth: availableWidth
|
||||||
|
|
||||||
@@ -618,6 +633,7 @@ Window {
|
|||||||
|
|
||||||
// --- TAB: AI ENGINE ---
|
// --- TAB: AI ENGINE ---
|
||||||
ScrollView {
|
ScrollView {
|
||||||
|
Accessible.role: Accessible.PageTab
|
||||||
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
||||||
contentWidth: availableWidth
|
contentWidth: availableWidth
|
||||||
|
|
||||||
@@ -1078,6 +1094,7 @@ Window {
|
|||||||
|
|
||||||
// --- TAB: DEBUG ---
|
// --- TAB: DEBUG ---
|
||||||
ScrollView {
|
ScrollView {
|
||||||
|
Accessible.role: Accessible.PageTab
|
||||||
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
ScrollBar.vertical.policy: ScrollBar.AsNeeded
|
||||||
contentWidth: availableWidth
|
contentWidth: availableWidth
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user