kdeconnect-kde/app/qml/runcommand.qml
Albert Vaca Cintora 799e00d252 Improve accessibility based on HAN university accessibility report
Unfortunately, most issues are in Kirigami and we can't fix them from our side. Namely, these things remain unfixed: 
- `Kirigami.PlaceholderMessage` are not read by screen readers
- When navigating with the keyboard, pressing tab selects elements from right to left, which is weird
- When navigating with the keyboard, the selected element is not highlighted
- `Kirigami.Action` that don't have a `text` property don't use the `Accessible.name` property when using a screen reader.
2024-03-12 14:26:37 +00:00

57 lines
1.6 KiB
QML

/*
* SPDX-FileCopyrightText: 2018 Nicolas Fella <nicolas.fella@gmx.de>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.kde.kdeconnect
Kirigami.ScrollablePage
{
id: root
title: i18nd("kdeconnect-app", "Run command")
property QtObject pluginInterface
actions: [
Kirigami.Action {
icon.name: "document-edit"
text: i18nd("kdeconnect-app", "Edit commands")
onTriggered: {
pluginInterface.editCommands();
showPassiveNotification(i18nd("kdeconnect-app", "You can edit commands on the connected device"));
}
}
]
ListView {
id: commandsList
model: RemoteCommandsModel {
deviceId: pluginInterface.deviceId
}
delegate: ItemDelegate {
id: delegate
width: ListView.view.width
text: name
contentItem: Kirigami.TitleSubtitle {
title: delegate.text
subtitle: command
}
onClicked: pluginInterface.triggerCommand(key)
}
Kirigami.PlaceholderMessage {
// FIXME: not accessible. screen readers won't read this.
// https://invent.kde.org/frameworks/kirigami/-/merge_requests/1482
visible: commandsList.count === 0
text: i18nd("kdeconnect-app", "No commands defined")
anchors.centerIn: parent
}
}
}