diff options
| author | MohammadHossein Qanbari <mohammad.qanbari@qt.io> | 2025-05-07 17:39:00 +0200 |
|---|---|---|
| committer | MohammadHossein Qanbari <mohammad.qanbari@qt.io> | 2025-06-17 10:51:04 +0200 |
| commit | 0ebecfd29ba3ca5377656b4d6db622ea672e5c46 (patch) | |
| tree | cf8d740fe45143cd8e275488c11524f6f9a0dc1d /src/quickcontrols/basic/ToolButton.qml | |
| parent | 2692b14cfb702ec4b50f05f743babba5973547e4 (diff) | |
Basic style: Improve accessibility with high-contrast colors
This patch enhances accessibility by introducing high-contrast visual
cues across various controls when high-contrast mode is preferred.
Previously, controls in the Basic style did not provide sufficient
visual distinction in high-contrast mode.
This patch adds a visible contour (border) around controls when
high-contrast mode is enabled. For some controls, the contour is added
by adjusting the border color and width. For others (e.g., highlighted
ComboBox items), a Rectangle is drawn around the control. TextArea and
Tumbler controls are also updated accordingly.
Separator controls now increase their width or height based on
orientation in high-contrast mode for better visibility.
ScrollBar and ScrollIndicator controls:
- Previously, these controls relied solely on handle color changes,
which were insufficient in high-contrast mode.
- This patch introduces an optional background and increases the
handle's contrast to improve visibility.
The patch also ensures that text and border colors adapt to the
high-contrast palette, improving legibility and focus indication
throughout the controls.
Minor adjustments to Menu, Delegate, and Header controls for
consistent high-contrast appearance.
Task-number: QTBUG-135687
Pick-to: 6.10
Change-Id: I460bd6fa2e48a47f20c2ba053ab453f32de18add
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Diffstat (limited to 'src/quickcontrols/basic/ToolButton.qml')
| -rw-r--r-- | src/quickcontrols/basic/ToolButton.qml | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/quickcontrols/basic/ToolButton.qml b/src/quickcontrols/basic/ToolButton.qml index e4bc90d665..bca544dd3e 100644 --- a/src/quickcontrols/basic/ToolButton.qml +++ b/src/quickcontrols/basic/ToolButton.qml @@ -35,7 +35,19 @@ T.ToolButton { implicitWidth: 40 implicitHeight: 40 - opacity: control.down ? 1.0 : 0.5 + opacity: Qt.styleHints.accessibility.contrastPreference === Qt.HighContrast || control.down ? 1.0 : 0.5 color: control.down || control.checked || control.highlighted ? control.palette.mid : control.palette.button + + border.color: { + if (control.visualFocus) + return control.palette.highlight + else if (Qt.styleHints.accessibility.contrastPreference === Qt.HighContrast) + return Color.blend(control.palette.buttonText, control.palette.button, + control.enabled ? 0.0 : 0.8) + else + return control.palette.windowText + } + border.width: control.visualFocus ? 2 : + Qt.styleHints.accessibility.contrastPreference === Qt.HighContrast ? 1 : 0 } } |
