Bug 299239 - Qt-at-spi doesn't pass right the comboboxes selected items with Orca Screen Reader
Summary: Qt-at-spi doesn't pass right the comboboxes selected items with Orca Screen R...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: qtatspi
Classification: Miscellaneous
Component: general (show other bugs)
Version: 0.3.1
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Frederik Gladhorn
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2012-05-02 14:04 UTC by Attila Hammer
Modified: 2018-09-04 15:33 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Attila Hammer 2012-05-02 14:04:03 UTC
Dear Developers,

I experienced prewious week a possible known issue with QT comboboxes related:
if in Unetbootin application I try choose a distribution the distribution combo box, I hear only selected value if I using Orca's where am I feature.
Look following debug.out part with generated Orca, if need, I attaching entire debug.out file:
KEYBOARDEVENT: type=1
                id=65509
                hw_code=66
                modifiers=2
                event_string=(Caps_Lock)
                keyval_name=(Caps_Lock)
                is_text=False
                timestamp=3903741440
                time=1335343603.202586
                keyType=modifier
                shouldEcho=False

KEYBOARDEVENT: type=0
                id=65364
                hw_code=116
                modifiers=0
                event_string=(Down)
                keyval_name=(Down)
                is_text=False
                timestamp=3903741753
                time=1335343603.516030
                keyType=navigation
                shouldEcho=False

----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME
DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME
----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME
----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME
OBJECT EVENT: object:property-change:accessible-name detail=(0,0,[combo box | 5R1-GNOME])
    app.name='' name='5R1-GNOME' role='combo box' state='active editable enabled focusable sensitive showing visible' relations=''
Script for event:  (module=orca.scripts.default)
TOTAL PROCESSING TIME: 0.0143
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^

DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
OBJECT EVENT: object:property-change:accessible-name detail=(0,0,[combo box | 5R1-GNOME])
    app.name='' name='5R1-GNOME' role='combo box' state='active editable enabled focusable sensitive showing visible' relations=''
Script for event:  (module=orca.scripts.default)
TOTAL PROCESSING TIME: 0.0044
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^

DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
OBJECT EVENT: object:property-change:accessible-name detail=(0,0,[combo box | 5R1-GNOME])
    app.name='' name='5R1-GNOME' role='combo box' state='active editable enabled focusable sensitive showing visible' relations=''
Script for event:  (module=orca.scripts.default)
TOTAL PROCESSING TIME: 0.0083
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^

DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-NAME  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-name vvvvv
OBJECT EVENT: object:property-change:accessible-name detail=(0,0,[combo box | BackTrack])
----------> QUEUEING OBJECT:TEXT-CHANGED:DELETE
----------> QUEUEING OBJECT:TEXT-CHANGED:INSERT
----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-VALUE
    app.name='' name='BackTrack' role='combo box' state='active editable enabled focusable focused sensitive showing visible' relations=''
Script for event:  (module=orca.scripts.default)
TOTAL PROCESSING TIME: 0.0051
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-name ^^^^^

DEQUEUED OBJECT:TEXT-CHANGED:DELETE  <----------

vvvvv PROCESS OBJECT EVENT object:text-changed:delete vvvvv
OBJECT EVENT: object:text-changed:delete detail=(0,201,AtSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.
)
    app.name='gnome-terminal' name='Terminal' role='terminal' state='enabled focusable focused sensitive showing visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0016
^^^^^ PROCESS OBJECT EVENT object:text-changed:delete ^^^^^

DEQUEUED OBJECT:TEXT-CHANGED:INSERT  <----------

vvvvv PROCESS OBJECT EVENT object:text-changed:insert vvvvv
OBJECT EVENT: object:text-changed:insert detail=(1222,201,tSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.

)
    app.name='gnome-terminal' name='Terminal' role='terminal' state='enabled focusable focused sensitive showing visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0032
^^^^^ PROCESS OBJECT EVENT object:text-changed:insert ^^^^^

DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-VALUE  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-value vvvvv
OBJECT EVENT: object:property-change:accessible-value  detail=(0,0,0)
----------> QUEUEING OBJECT:TEXT-CHANGED:DELETE
----------> QUEUEING OBJECT:TEXT-CHANGED:INSERT
----------> QUEUEING OBJECT:PROPERTY-CHANGE:ACCESSIBLE-VALUE
    app.name='gnome-terminal' name='None' role='scroll bar' state='enabled sensitive showing vertical visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0047
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-value ^^^^^

DEQUEUED OBJECT:TEXT-CHANGED:DELETE  <----------

vvvvv PROCESS OBJECT EVENT object:text-changed:delete vvvvv
OBJECT EVENT: object:text-changed:delete detail=(0,134,AtSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.
)
    app.name='gnome-terminal' name='Terminal' role='terminal' state='enabled focusable focused sensitive showing visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0017
^^^^^ PROCESS OBJECT EVENT object:text-changed:delete ^^^^^

DEQUEUED OBJECT:TEXT-CHANGED:INSERT  <----------

vvvvv PROCESS OBJECT EVENT object:text-changed:insert vvvvv
OBJECT EVENT: object:text-changed:insert detail=(1289,134,tSpiAdaptor::relationSet currently has a problem with child ids.
AtSpiAdaptor::relationSet currently has a problem with child ids.

)
    app.name='gnome-terminal' name='Terminal' role='terminal' state='enabled focusable focused sensitive showing visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0016
^^^^^ PROCESS OBJECT EVENT object:text-changed:insert ^^^^^

DEQUEUED OBJECT:PROPERTY-CHANGE:ACCESSIBLE-VALUE  <----------

vvvvv PROCESS OBJECT EVENT object:property-change:accessible-value vvvvv
OBJECT EVENT: object:property-change:accessible-value  detail=(0,0,0)
    app.name='gnome-terminal' name='None' role='scroll bar' state='enabled sensitive showing vertical visible' relations=''
Script for event: gnome-terminal (module=orca.scripts.apps.gnome-terminal.script)
TOTAL PROCESSING TIME: 0.0016
^^^^^ PROCESS OBJECT EVENT object:property-change:accessible-value ^^^^^

KEYBOARDEVENT: type=1
                id=65364
                hw_code=116
                modifiers=0
                event_string=(Down)
                keyval_name=(Down)
                is_text=False
                timestamp=3903741827
                time=1335343603.588475
                keyType=navigation
                shouldEcho=False

KEYBOARDEVENT: type=0
                id=65509
                hw_code=66
                modifiers=0
                event_string=(Caps_Lock)
                keyval_name=(Caps_Lock)
                is_text=False
                timestamp=3903742568
                time=1335343604.330884
                keyType=modifier
                shouldEcho=False

KEYBOARDEVENT: type=0
                id=65293
                hw_code=36
                modifiers=2
                event_string=(Return)
                keyval_name=(Return)
                is_text=False
                timestamp=3903742735
                time=1335343604.497248
                keyType=action
                shouldEcho=False

----------> QUEUEING <ENUM ATSPI_KEY_PRESSED_EVENT OF TYPE EVENTTYPE> 'Return' (36)
DEQUEUED <ENUM ATSPI_KEY_PRESSED_EVENT OF TYPE EVENTTYPE> 'Return' (36) <----------

vvvvv PROCESS <ENUM ATSPI_KEY_PRESSED_EVENT OF TYPE EVENTTYPE> 'Return' (36) vvvvv

PREPARATION TIME: 0.0024
generate braille for focused app.name='' name='BackTrack' role='combo box' state='active editable enabled focusable focused sensitive showing visible' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_COMBO_BOX of type Role>, 'mode': 'braille', 'recursing': True}) using '(includeContext                           and (ancestors                               + (rowHeader and [Region(" " + asString(rowHeader))])                                + (columnHeader and [Region(" " + asString(columnHeader))])    + (radioButtonGroup and [Region(" " + asString(radioButtonGroup))])                                + [Region(" ")])    or []) + ((comboBoxTextObj and [Text(comboBoxTextObj[0], asString(label), asString(eol))])                           or [Component(obj, asString(label + displayedText), label and (len(asString(label)) + 1) or 0)])                          + [Region(" " + asString(roleName))] + (nodeLevel and [Region(" " + asString(nodeLevel))])'
GENERATION  TIME: 0.0009  ---->  includeContext=True

PREPARATION TIME: 0.0021
generate braille for focused app.name='' name='None' role='application' state='editable enabled focused sensitive showing visible' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_APPLICATION of type Role>, 'mode': 'braille', 'includeContext': False, 'recursing': True}) using '[Component(obj, asString(label + displayedText + value + roleName + required))]'
GENERATION  TIME: 0.0020  ---->  label=[]
GENERATION  TIME: 0.0005  ---->  displayedText=[]
GENERATION  TIME: 0.0021  ---->  value=['']
GENERATION  TIME: 0.0018  ---->  roleName=['application']
GENERATION  TIME: 0.0006  ---->  required=[]
COMPLETION  TIME: 0.0103
generate braille results:
  Component: 'application', 0
GENERATION  TIME: 0.0321  ---->  ancestors=[<orca.braille.Component instance at 0xababd0c>]
GENERATION  TIME: 0.0011  ---->  rowHeader=[]
GENERATION  TIME: 0.0011  ---->  columnHeader=[]
GENERATION  TIME: 0.0009  ---->  radioButtonGroup=[]
GENERATION  TIME: 0.0086  ---->  comboBoxTextObj=[]
GENERATION  TIME: 0.0501  ---->  label=[]
GENERATION  TIME: 0.0144  ---->  displayedText=[u'BackTrack']
GENERATION  TIME: 0.0027  ---->  roleName=['combo box']
GENERATION  TIME: 0.0034  ---->  nodeLevel=[]
COMPLETION  TIME: 0.1203
generate braille results:
  Component: 'application', 0
  Region: ' ', 0
  Component: '$back$track', 1
  Region: ' combo box', 0
BRAILLE LINE:  'application $back$track combo box'
     VISIBLE:  'application $back$track combo box', cursor=14

PREPARATION TIME: 0.0033
generate speech for basicWhereAmI app.name='' name='BackTrack' role='combo box' state='active editable enabled focusable focused sensitive showing visible' relations='' (args={'forceList': True, 'formatType': 'basicWhereAmI', 'role': <enum ATSPI_ROLE_COMBO_BOX of type Role>, 'mode': 'speech', 'forceMnemonic': True, 'alreadyFocused': True, 'forceTutorial': True, 'recursing': True}) using 'toolbar + label + roleName + pause + name + positionInList + (mnemonic and (pause + mnemonic + lineBreak) or []) + accelerator + (tutorial and (pause + tutorial) or []) + description'
GENERATION  TIME: 0.0007  ---->  toolbar=[]
GENERATION  TIME: 0.0004  ---->  label=[]
GENERATION  TIME: 0.0015  ---->  roleName=['combo box', {}]
GENERATION  TIME: 0.0005  ---->  pause=[<orca.speech_generator.Pause instance at 0xa79e82c>]
GENERATION  TIME: 0.0005  ---->  name=['BackTrack', {u'average-pitch': 3.0, u'rate': 90.0, u'family': {u'locale': u'hu', u'name': u'magyar'}}]
GENERATION  TIME: 0.0072  ---->  positionInList=[]
script_utilities.getKeyBinding: ['', u'', '']
GENERATION  TIME: 0.0023  ---->  mnemonic=[]
GENERATION  TIME: 0.0005  ---->  accelerator=[]
GENERATOR: _getTutorialForComboBox
           obj             = BackTrack
           role            = combo box
           alreadyFocused  = True
           utterances:
               (A legördítéshez használja a szóköz, az elemeken való navigáláshoz a fel- és le nyíl billentyűket.)
GENERATOR: getTutorial
           obj             = BackTrack
           role            = combo box
           alreadyFocused  = True
           utterances:
               (A legördítéshez használja a szóköz, az elemeken való navigáláshoz a fel- és le nyíl billentyűket.)
GENERATION  TIME: 0.0024  ---->  tutorial=['A leg\xc3\xb6rd\xc3\xadt\xc3\xa9shez haszn\xc3\xa1lja a sz\xc3\xb3k\xc3\xb6z, az elemeken val\xc3\xb3 navig\xc3\xa1l\xc3\xa1shoz a fel- \xc3\xa9s le ny\xc3\xadl billenty\xc5\xb1ket.', {}]
GENERATION  TIME: 0.0006  ---->  description=['V\xc3\xa1lasszon a t\xc3\xa1mogatott disztrib\xc3\xbaci\xc3\xb3k list\xc3\xa1j\xc3\xa1b\xc3\xb3l', {}]
COMPLETION  TIME: 0.0215
generate speech results:
  combo box
  {}
  <orca.speech_generator.Pause instance at 0xa79e82c>
  BackTrack
  {u'average-pitch': 3.0, u'rate': 90.0, u'family': {u'locale': u'hu', u'name': u'magyar'}}
  <orca.speech_generator.Pause instance at 0xa79e82c>
  A legördítéshez használja a szóköz, az elemeken való navigáláshoz a fel- és le nyíl billentyűket.
  {}
  Válasszon a támogatott disztribúciók listájából
  {}
SPEECH OUTPUT: 'combo box.'
SPEECH OUTPUT: 'BackTrack.'
SPEECH OUTPUT: 'A legördítéshez használja a szóköz, az elemeken való navigáláshoz a fel- és le nyíl billentyűket. Válasszon a támogatott disztribúciók listájából'

I hear only the QT combobox selected element if I using Orca where am I feature with repeat the actual selected item related information.

I using latest master branch version with qt-at-spi bridge.

Attila

Reproducible: Always

Steps to Reproduce:
1. Install unetbootin package for example an ubuntu 12.04 system, and launch Unetbootin application for example in Ubuntu 12.04 system in terminal with sudo unetbootin command. Don't forgot to launch Orca before you launch unetbootin application.
2. Try select a distribution with the distribution combo box. If you use arrow keys to move between the combobox elements, you will be nothing hear. But if you use Orca where am I feature, you will be hear the selected distribution element. If you using a desktop layout with Orca, you easy to use Orca where am I feature with numpad ENTER key, if you use laptop layout with Orca, you need press capslock+ENTER key when you would like using where am I function.

Actual Results:  
Arrow key presses doesn't pass Orca the selected combobox element

Expected Results:  
Need pass for Orca the selected combo box element related informations with arrow key press, and other cursor moving keys with possible using QT Combo boxes.
Comment 1 Frederik Gladhorn 2014-04-29 20:01:11 UTC
Thanks for the report. This is a Qt bug tracked here:
https://bugreports.qt-project.org/browse/QTBUG-36814
Comment 2 Andrew Crouthamel 2018-09-04 15:33:11 UTC
Hello! Sorry to be the bearer of bad news, but this project has been unmaintained for many years so I am closing this bug.