GNOME Bugzilla – Bug 670723
In Ubiquity installer first screen, independent the default selected system locale Orca spokening rolenames with english
Last modified: 2012-03-02 16:09:25 UTC
Created attachment 208316 [details] Debug file with shows possible why happening this issue Dear Developers, Since rolename refactoring I see an interesting problem if I using Ubiquitz installer first screen my Precise custom live CD: When the installer first screen presenting the screen, the default language is english. If I switch language for example with hungarian, Orca spokening labels with correct hungarian language, but the rolenames is spokening and presenting english. Prewious Orca versions I never see this issue, if the default live system locale is hungarian, Orca wonderful spokened rolenames with hungarian locale. I attaching the debug.out file. Attila
I don't no important or not, but I see following traceback error message the debug.out file: PREPARATION TIME: 0.0009 generate braille for focused app.name='nautilus' name='Firefox webböngésző' role='icon' state='selectable selected' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_ICON 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 []) + [Component(obj, asString(((label + displayedText + imageDescription) or name) + roleName))] + (nodeLevel and [Region(" " + asString(nodeLevel))])' GENERATION TIME: 0.0005 ----> includeContext=True PREPARATION TIME: 0.0008 generate braille for focused app.name='nautilus' name='Ikonnézet' role='layered pane' state='enabled focusable focused sensitive showing visible' relations='' (args={'formatType': 'focused', 'role': <enum ATSPI_ROLE_LAYERED_PANE of type Role>, 'mode': 'braille', 'includeContext': False, 'recursing': True}) using '[Component(obj, asString(label + displayedText + value + roleName + required))]' GENERATION TIME: 0.0006 ----> label=[] GENERATION TIME: 0.0003 ----> displayedText=[u'Ikonn\xe9zet'] GENERATION TIME: 0.0005 ----> value=[''] GENERATION TIME: 0.0006 ----> roleName=['r\xc3\xa9teges ablakt\xc3\xa1bla'] GENERATION TIME: 0.0003 ----> required=[] COMPLETION TIME: 0.0038 generate braille results: Component: '$ikonn12et r1teges ablakt"bla', 1 GENERATION TIME: 0.0048 ----> ancestors=[<orca.braille.Component instance at 0x8d17e4c>] GENERATION TIME: 0.0004 ----> rowHeader=[] GENERATION TIME: 0.0004 ----> columnHeader=[] GENERATION TIME: 0.0003 ----> radioButtonGroup=[] GENERATION TIME: 0.0011 ----> label=[] GENERATION TIME: 0.0011 ----> displayedText=[u'Firefox webb\xf6ng\xe9sz\u0151'] GENERATION TIME: 1.0020 ----> imageDescription=[] Traceback (most recent call last):
+ Trace 229736
globalsDict[arg] = self._methodsDict[arg](obj, **args)
result.append(self.getLocalizedRoleName(obj, role))
return obj.getLocalizedRoleName()
return info.invoke(*args, **kwargs)
Attila
I added sanity checks for the traceback in master. As for the original bug: Orca is now just asking for the rolename; it is not doing anything other than getting it and passing it along to you. Based on what you are describing, I'm guessing that there is a bug in either Gtk+ or AT-SPI2. So we should get to the bottom of it and then file a bug against the proper component.
I chatted with Benjamin Otte (the Gtk+ accessibility developer) just now. He said that as far as he knows, roles are just an enum in ATK and the bridge is doing the translation. He suggested I ask Mike Gorse. So I'll do that. Stay tuned!
In talking to Mike and in trying Ubiquity myself, I'm thinking this issue is something which will need to be solved in Ubiquity. Mike had said, "atk calls dgettext, which I guess is going to key off LANG." My *suspicion* is that with the first screen they are changing the strings only. As a result, the localized role name is not changing. By the time the second screen in the wizard is displayed, the locale appears to be set correctly and the localized rolenames are presented. I was hoping I could take a look at the code and figure it out, but the code that I would have thought is being called doesn't seem to be. Attila, I suggest you file this downstream.