<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
Hello Andrei,
<div><br>
</div>
<div>
<div>
<div>On 18 Jul 2014, at 00:36, Andrei Tuicu <<a href="mailto:andrei.tuicu@gmail.com">andrei.tuicu@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">Hello everyone!
<div><br>
</div>
<div>My name is Andrei Tuicu and I'm a GSOC student working on accessibility support for MuseScore. <a href="http://musescore.org/">http://musescore.org/</a></div>
<div><br>
</div>
<div>I hope this is the right place to ask this questions. :)</div>
</div>
</blockquote>
<div><br>
</div>
<div>Thatís a great project, Iím happy to hear that more projects are taking accessibility serious :)</div>
Feel free to ask away and Iíll try to answer as much as I can.</div>
<div><br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>I have some problems with the Qt Accessibility API, maybe some of you can help me with them.</div>
<div><br>
</div>
<div>So first of all, my main problem is that I can't seem to be able to get any new feedback from the screen reader when calling the QAccessbile::updateAccessbility static method.</div>
<div><br>
</div>
<div>For example, I have a Custom class that inherits QSlider and I'm updating the value of the slider. Shouldn't this code make the screen-reader tell the new value of the slider?</div>
<div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">      </span><span style="color:rgb(128,128,0)">this</span><span style="">-></span><span style="">setValue</span><span style="">(</span><span style="">value</span><span style="">()+</span><span style="color:rgb(0,0,128)">10</span><span style="">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">      </span><span style="color:rgb(128,0,128)">QAccessibleValueChangeEvent</span><span style="color:rgb(192,192,192)"> </span><span style="">event</span><span style="">(</span><span style="color:rgb(128,128,0)">this</span><span style="">,</span><span style="color:rgb(192,192,192)"> </span><span style="">value</span><span style="">());</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">      </span><span style="color:rgb(128,0,128)">QAccessible</span><span style="">::</span><span style="">updateAccessibility</span><span style="">(&</span><span style="">event</span><span style="">);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="">Am I doing something wrong here?</span></pre>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>The code looks good to me. The problem is more that there are so many norms and ways of using the different accessibility APIs. Qt aims to work on all platforms, but there has been a lot more usage and testing of these APIs in the last one or two years,
 so you might just hit bugs.</div>
<div>This really depends on the screen reader. Which platform/screen reader are you testing with and which Qt version?</div>
<div>There were a few fixes in Qt 5.4 for Windows and on Linux some fixes went into Orca because of bugs exposed by Qt.</div>
<div><br>
</div>
<div>If you canít get it to work, file a bug on <a href="http://bugreports.qt-project.org">
bugreports.qt-project.org</a>.</div>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>
<pre style="margin-top:0px;margin-bottom:0px">Other questions:</pre>
<pre style="margin-top:0px;margin-bottom:0px">1. Must a widget have focus when <span style="font-family:arial;color:rgb(192,192,192)"> </span><span style="font-family:arial;color:rgb(128,0,128)">QAccessible</span><span style="font-family: arial;">::</span><span style="font-family: arial;">updateAccessibility method is called?</span></pre>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>No, but again, the behavior is completely platform dependent, most screen readers try to not drown the user in useless messages, so often they wonít announce the value change. Doing the update is still important, for example Orca on Linux (or rather AT-SPI)
 caches a lot and then will read wrong values later on when the widget receives focus.</div>
<div><br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family: arial;">2.   If the answer to the previous question is yes, how can I make the screen-reader see the informations for QObjets since they can't get focus?</span></pre>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>It doesnít have to be the real focus, but youíd have to implement a custom QAccessibleInterface subclass (and register a factory function for it). That interface can return true for the focus state, but it should of course be consistent with the applicationís
 state in some way.</div>
<div>Sending updates for QObject subclasses is fine as long as they have a QAccessibleInterface representation.</div>
<div><br>
</div>
<div>Let me know if you need more info or if the docs are not complete enough.</div>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family: arial;">3. Is there a way to send a string to the screen-reader and say something like "read this". From what I read through the documentation, it doesn't seem to be, but I think it would be a nice addition for sending messages to the user. :)</span></pre>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>There isnít, but Iíve had a few situations where I wanted this as well. It really depends on the platforms again, but I think it makes sense. Please file a bug so we can discuss the API there and wonít forget about this. I know that itís available on several
 platforms (iOS recently added this kind of feature) but havenít looked into it for real.</div>
<div><br>
</div>
<div><br>
</div>
<div>You can also have a look at existing accessibility issues:</div>
<div><a href="https://bugreports.qt-project.org/secure/Dashboard.jspa?selectPageId=12514">https://bugreports.qt-project.org/secure/Dashboard.jspa?selectPageId=12514</a></div>
<div><br>
</div>
<div>Please use GUI: Accessibility so I see new issues that you file.</div>
<div><br>
</div>
<div>Greetings,</div>
<div>Frederik</div>
<div><br>
</div>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family: arial;"><br></span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><font face="arial">Thank you!</font></pre>
<pre style="margin-top:0px;margin-bottom:0px"><font face="arial">Best regards,</font></pre>
<pre style="margin-top:0px;margin-bottom:0px"><font face="arial">Andrei Tuicu</font></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="font-family: arial;"><br>
</span></pre>
</div>
<div><br>
</div>
</div>
_______________________________________________<br>
Accessibility mailing list<br>
<a href="mailto:Accessibility@qt-project.org">Accessibility@qt-project.org</a><br>
http://lists.qt-project.org/mailman/listinfo/accessibility<br>
</blockquote>
</div>
<br>
</div>
</body>
</html>