Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-44479

Orca does not report text attributes in QTextEdit

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.5.0
    • 5.4.0
    • None
    • Ubuntu 14.10 x86_64
      Qt 5.4.0 binaries downloaded from qt.io
    • f5883eb9060f34e1f0b6569dcfec61e6983babfe

    Description

      Description:
      When one tries to inspect text attributes in Orca, Orca does not report any attributes.

      Steps to reproduce:
      1. Run examples/widgets/richtext/textedit
      2. Turn on Orca (Alt-Super-S)
      3. Put cursor inside the text edit (by clicking it)
      4. Make sure you get Orca feedback when moving cursor (by pressing arrow left and right a few times and making sure Orca is spelling the letters being moved over)
      5. Make Orca read text attributes (by pressing Orca-F)

      Expected results:
      Orca would read the text attributes, like "family name Helvetica, etc."

      Actual results:
      Orca does not say anything

      Notes:
      I tracked it down to Orca successfully getting list of attributes and their values from Qt (that's works well), but then finding the attribute names do not correspond to what it is expecting and throwing them away.

      What Orca is expecting is in Orca's source file text_attribute_names.py.

      In Accerciser, I get all attributes of the text, just with the wrong (IAccessible2) names.

      Also this leads to a suggestion of a future version of QAccessibleTextInterface::attributes to provide more structured result of text attributes. Currently it returns just a QString with all attributes and their values, which then needs to be parsed by a platform accessibility implementation in Qt and adapted (transformed) to what the platform expects (different string on Linux, NSAttributedString on OS X etc.).

      I am already parsing the returned string in the OS X accessibility implementation of Qt, now we need to parse it again in Linux (AT-SPI) accessibility implementation of Qt, so this leads to a bit of duplication. I would imagine ::attributes2 would return e.g. a QMap<QString,QVariant>, with QString constants available as part of the interface. Then the QVariant could have values like integers, QColor's, etc. But this is for a separate bug report (rather "refactoring request" ).

      I am going to verify with latest dev (to be soon 5.5) soon.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            dusek Boris Dušek
            dusek Boris Dušek
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes