You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.9 KiB
62 lines
1.9 KiB
3 years ago
|
# Accessibility support
|
||
|
|
||
|
## Platform Support
|
||
|
|
||
|
| Platform | Status |
|
||
|
|----------|-----------------------------------|
|
||
|
| MacOS | Supported |
|
||
|
| Windows | Supported with Java Access Bridge |
|
||
|
| Linux | Not supported |
|
||
|
|
||
|
## Custom widget with semantic rules
|
||
|
|
||
|
```kotlin
|
||
|
import androidx.compose.foundation.*
|
||
|
import androidx.compose.foundation.layout.*
|
||
|
import androidx.compose.material.Text
|
||
|
import androidx.compose.runtime.*
|
||
|
import androidx.compose.ui.*
|
||
|
import androidx.compose.ui.graphics.Color
|
||
|
import androidx.compose.ui.semantics.*
|
||
|
import androidx.compose.ui.unit.*
|
||
|
import androidx.compose.ui.window.*
|
||
|
|
||
|
fun main() = singleWindowApplication(
|
||
|
title = "Custom Button", state = WindowState(size = DpSize(300.dp, 200.dp))
|
||
|
) {
|
||
|
var count by remember { mutableStateOf(0) }
|
||
|
|
||
|
Box(modifier = Modifier.padding(50.dp)) {
|
||
|
Box(modifier = Modifier
|
||
|
.background(Color.LightGray)
|
||
|
.fillMaxSize()
|
||
|
.clickable { count += 1 }
|
||
|
.semantics(mergeDescendants = true /* Use text from the contents (1) */) {
|
||
|
// This is a button (2)
|
||
|
role = Role.Button
|
||
|
// Add some help text to button (3)
|
||
|
contentDescription = "Click to increment value"
|
||
|
}
|
||
|
) {
|
||
|
val text = when (count) {
|
||
|
0 -> "Click Me!"
|
||
|
1 -> "Clicked"
|
||
|
else -> "Clicked $count times"
|
||
|
}
|
||
|
Text(text, modifier = Modifier.align(Alignment.Center), fontSize = 24.sp)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
```
|
||
|
|
||
|
![Custom Widget](./images/custom-widget.png)
|
||
|
|
||
|
# Windows
|
||
|
Accessibility on Windows is provided by Java Access Bridge and is disabled by default. To enable it, run the following command in Command Prompt.
|
||
|
|
||
|
```cmd
|
||
|
%JAVA_HOME%\bin\jabswitch.exe /enable
|
||
|
```
|
||
|
|
||
|
There are some issues with HiDPI display support on windows, see [Desktop Accessibility on Windows](Windows.md) for details.
|