Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Accessibility problems
Servers for Qt installer are currently down

Accessibility problems

Scheduled Pinned Locked Moved General and Desktop
6 Posts 3 Posters 1.8k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AndreiTuicu
    wrote on last edited by
    #1

    Hello everyone!

    I have some problems with the Qt Accessibility API, maybe some of you can help me with them.

    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.

    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?
    @
    this->setValue(value()+10);
    QAccessibleValueChangeEvent event(this, value());
    QAccessible::updateAccessibility(&event);
    @
    Am I doing something wrong here?

    Other questions:

    1. Must a widget have focus when QAccessible::updateAccessibility method is called?
    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?
    3. Is there a way to send a string to the screen-reader and say something like "read this"?

    Thank you!
    Andrei

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Disclaimer: I'm no specialist in this field. There's currently work done to improve accessibility support, have a look at Qt's mailing list on the subject.

      AFAIK, QSlider should already be accessible aware, so I wonder if you really need to add that code. Anyway, something looks wrong here:

      @QAccessibleValueChangeEvent event(this, value());@

      None of the constructors take a value as a parameter.

      By the way, which version of Qt and on which OS are you working ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • A Offline
        A Offline
        AndreiTuicu
        wrote on last edited by
        #3

        Hello, SGaist! Thanks for your reply!

        I'm running Qt 5.3 on Windows 7.

        I know that there is still work being done, but I don't know what is finished and what isn't. I already tried the Accessibility mailing list, but nobody answered... After creating this post I also sent a bug report, because I've tried this for over a week now. I've uploaded the whole testing project there.
        https://bugreports.qt-project.org/browse/QTBUG-40313

        Yes, the QSlider already has accessibility implemented already, but this is just a project for testing. In the project that I'm supposed to add support for accessibility there are a lot of custom classes, that should have custom behavior, that's why I'm trying to implement this myself.

        The QAccessibleChangeEvent, has a QVariant as a second parameter. Isn't that the way to create it? I have to say that I don't understand completly how QVariant works, but I also tried instantiating other kinds of events that don't have it and don't work either.

        What I'm really interesed in telling the screen-reader that the accessibility informations have changed and I want it to read them. For example if I put a message in the status bar, I want it to read that message.

        Andrei

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          QAccessibleChangeEvent ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • A Offline
            A Offline
            AndreiTuicu
            wrote on last edited by
            #5

            No such event...

            There is however the QAccessibleEvent(QObject o, QAccessible::Event)
            where I can set the Event type to anything I want. The code that I gave is just an example. I don't receive any update, no matter what type of event I'm using.

            But does the QAccessibleValueChangeEvent do anything for you? Or for that matter calling the QAccessible::updateAccessibility method? Does the screen-reader tell you anything new?

            Thank you!
            Andrei

            1 Reply Last reply
            0
            • V Offline
              V Offline
              Vadi2
              wrote on last edited by
              #6

              Coming back to this topic in 2022 with Qt 5.15 for windows/linux/macos, and I have exactly the first same 3 questions as OP posted:

              1. Must a widget have focus when QAccessible::updateAccessibility method is called?
              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?
              3. Is there a way to send a string to the screen-reader and say something like "read this"?

              Anyone have the answers to this?

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved