Description
Describe the problem
a screenreader is a piece of software to read out what blind people are doing on their devices, because they can't see the monitor.
the new web ide is very accessible, but i would give a suggestion.
when i compile a code, i need to press arrow keys to find the status output and see what's going on there. i expected that it would say: "your code is compiled (and uploaded to the board) / (but upload is failed)...", or "error on line 65;32: the variable 'buzzer_pin' is not defined".
to make the screenreader speak, you just need to call this function:
/* srSpeak(text, priority)
text: the message to be vocalised
priority (non mandatory): "polite" (by default) or "assertive" */
function srSpeak(text, priority) {
var el = document.createElement("div");
var id = "speak-" + Date.now();
el.setAttribute("id", id);
el.setAttribute("aria-live", priority || "polite");
el.classList.add("visually-hidden");
document.body.appendChild(el);
window.setTimeout(function () {
document.getElementById(id).innerHTML = text;
}, 100);
window.setTimeout(function () {
document.body.removeChild(document.getElementById(id));
}, 1000);
}
and add a visually hidden css class:
please look at the accessibility guidelines.
https://a11y-guidelines.orange.com/en/web/components-examples/make-a-screen-reader-talk/
To reproduce
install any screenreader on your computer. can be NVDA by NVaccess or jaws by freedomscientific.
open arduino ide and try to compile the code. the screenreader is silent.
go out of the edit field where you write code. (if using nvda, insert+spacebar). go down to the output with down arrow. and the screenreader will read the output.
Expected behavior
you compile the code, and the screenreader anounses that the code is compiled, or discribes where is the error and why it happened. and puts the cursor to the error place.
Arduino IDE version
latest ide version, but it doesn't matter
Operating system
Windows
Operating system version
windows 10
Additional context
i think all messages should be screenreader spoken
Issue checklist
- I searched for previous reports in the issue tracker
- I verified the problem still occurs when using the latest nightly build
- My report contains all necessary details