Issue 88069 - [a11y] Please emit object:text-attributes-changed events when text attributes change
Summary: [a11y] Please emit object:text-attributes-changed events when text attributes...
Status: CLOSED FIXED
Alias: None
Product: Writer
Classification: Application
Component: ui (show other issues)
Version: OOo 2.4.0
Hardware: All All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: eric.savary
QA Contact: issues@sw
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2008-04-09 00:00 UTC by joaniediggs
Modified: 2013-08-07 14:44 UTC (History)
9 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description joaniediggs 2008-04-09 00:00:36 UTC
Steps to reproduce:

1. Launch Writer.

2. Hide the Formatting toolbar.

3. Launch Accerciser and turn event monitoring on.

4. Return focus to the Writer document and change the formatting by pressing
Control + B, Control + I, Control + 1, etc., etc.

Expected results: an object:text-attributes-changed event would be emitted each
time the text attributes changed.

Actual results: an object:text-attributes-changed event is not emitted.*

*An object:visible-data-changed event is emitted.  The problem with this event,
however, is that it seems to be a pretty generic event frequently emitted by
apps to announce that *something* has changed appearance *somehow*.  As a
result, listening for that particular event is costly to the performance of ATs.
 Having the more specific object:text-attributes-changed event instead would be
extremely helpful.

Thanks!!
Comment 1 nospam4obr 2008-04-16 21:05:58 UTC
The UNO equivalent of object:text-attributes-changed is currently tagged as
"reserved for future use" and thus would have to be specified first ..
Comment 2 malte_timmermann 2008-07-01 12:13:07 UTC
mt->obr: Please put some meaningful text into IDL and provide mapping in UAA/ATK
bridge.

After that send issue to Writer/EditEngine maintainer.

OOo 3.x now.
Comment 3 nospam4obr 2008-07-01 12:24:58 UTC
Is the object:text-attributes-changed expected to have any details parameter ? 

If not, we just need to fix the IDL (UNO <-> ATK bridging code is already present).
Comment 4 nospam4obr 2008-07-02 08:15:58 UTC
http://library.gnome.org/devel/atk/stable/AtkText.html#AtkText-text-attributes-changed
makes me think there are no details expected, i.e. OldValue and NewValue of the
UNO AccessibilityEvent can stay empty.

As the UNO <-> ATK bridge already implements that mapping, the IDL can as well
be changed when moving from VISIBLE_DATA_CHANGED to TEXT_ATTRIBUTE_CHANGED in
writer.

Comment 5 Oliver-Rainer Wittmann 2008-07-02 08:31:03 UTC
I think we should fix this in the next feature release -> adjusting target to
OOo 3.1
Comment 6 Oliver-Rainer Wittmann 2009-01-07 10:05:37 UTC
fixed in cws sw31a11y01 - changed files:
/sw/inc/viewsh.hxx
/sw/source/core/view/viewsh.cxx
/sw/source/core/inc/viewimp.hxx
/sw/source/core/view/viewimp.cxx
/sw/source/core/text/txtfrm.cxx
/sw/inc/accmap.hxx
/sw/source/core/access/accmap.cxx
/sw/source/core/access/acccontext.hxx
/sw/source/core/access/acccontext.cxx
revision 265955
Comment 7 Oliver-Rainer Wittmann 2009-01-08 13:55:10 UTC
Testing with ES reveals the following:
- Event object:visible-data-changed is no longer emitted at the described actions.
- Event object:text-attributes-changed is still not emitted at the described
actions.
--> My assumption is that the mapping of the UNO-A11y event
TEXT_ATTRIBUTE_CHANGED to ATK event object:text-attributes-changed is not function.

It also reveals that the UNO-IDL for UNO-A11y event needs also be adjusted.
Comment 8 Oliver-Rainer Wittmann 2009-01-08 13:56:47 UTC
OD->AB:
Please take over as discussed.
When you have your environment ready, let us together check, what is not function.
Comment 9 ab 2009-01-09 11:27:46 UTC
STARTED
Comment 10 Oliver-Rainer Wittmann 2009-01-13 10:07:49 UTC
Checked with AB that from OOo side everything wents well.
It seems that in one of the gtk libraries, namely libatk-bridge.so, a mapping
for event object:text-attributes-changed is missing.

Further investigation needed - send help request to williewalker.
Comment 11 ab 2009-01-15 10:41:52 UTC
ab->od: I don't think it makes sense to leave this one assigned to me
Comment 12 Oliver-Rainer Wittmann 2009-01-15 10:50:24 UTC
You are right.
This issue is also fixed from OOo's point of view.

Investigation reveals that the gtk library libatk-bridge.so is not mapping the
requested event.
Waiting for fixed gtk library and possible test environment.
Comment 13 ab 2009-01-19 13:43:40 UTC
Works with a fixed libatk-bridge.so provided by Li Yuan
Comment 14 Oliver-Rainer Wittmann 2009-01-20 13:43:50 UTC
verified with fixed libatk-bridge.so provided by Li Yuan
Comment 15 Oliver-Rainer Wittmann 2009-01-20 13:45:27 UTC
OD->ES: Please take over in order to verify again on master, when fixed
libatk-bridge.so is released - Thanks
Comment 16 williewalker 2009-03-24 19:22:09 UTC
Many thanks for working on this.

Just providing a trackback to the Orca bug:
http://bugzilla.gnome.org/show_bug.cgi?id=404046

I'd also love to test this if I can get my hands on a build that works with
OpenSolaris 2008.11 b109.
Comment 17 joaniediggs 2009-03-24 20:24:30 UTC
Will, I can run dev builds on OpenSolaris build 109. I forgot what I had to do,
but I just googled and found this thread on desktop-discuss. It sounds familiar. 

http://mail.opensolaris.org/pipermail/desktop-discuss/2009-March/011451.html
Comment 18 williewalker 2009-03-26 23:09:23 UTC
I tested with StarOffice 9.1.0 DEV300m41 (Build:9398) [CWS:swa11y32] on my
OpenSolaris b109 machine with Orca from trunk and did not get any
object:text-attributes-changed events.  Do you recall which version of
libatk-bridge.so Li gave you?  It might not be in b109.
Comment 19 Oliver-Rainer Wittmann 2009-03-27 09:06:16 UTC
OD->williewalker: Li send the library via private email at 2009-01-16 - you were
also on copy. I will send you the library from Li again via private email.
Comment 20 williewalker 2009-03-27 14:26:55 UTC
@od - thank you.  I'm less interested in the actual binary and more interested
in which version of libatk-bridge the changes were made in.  This is useful to
me so I know where we'll stand in terms of integration.  I was wondering if you
knew before I went digging.

From your response, I'm guessing you don't know.  :-)  So, I went digging
because this kind of cross reference and dependency is useful to have written
down.  The GNOME bug that was used to track this is as follows:

http://bugzilla.gnome.org/show_bug.cgi?id=567706

The relevant GNOME svn revisions are as follows, which seem to indicate it went
into GNOME 2.25.5 (and hence GNOME 2.26.0):

http://svn.gnome.org/viewvc/at-spi?view=revision&revision=1149
http://svn.gnome.org/viewvc/at-spi?view=revision&revision=1150

I don't see any commits for the gnome-2-24 branch.  I also checked the JDS
svn.opensolaris.org/svn/jds/spec-files/branches/gnome-2-24 patches to see if
there were any downstream fixes for OpenSolaris.  None have been done.

So, it looks as though one will need GNOME 2.26.0 or better along with some
version of OOo (3.1?) in order to get this functionality.

Thanks!
Comment 21 eric.savary 2009-05-18 14:47:50 UTC
Hi all!

what do we do with that?
I had seen that fixed in 3.1 but apparently Willie found a fixed but a failed
which he discussed with OD.

Untill OD comes back from vacation nexr week, I set to 3.2 (doesn't seem to be a
showstopper anyway).

Then you can decide if we have to fix something more or if I can close.
Comment 22 Oliver-Rainer Wittmann 2009-05-25 10:21:07 UTC
This issue is solved in OOo, but a new version of library libatk-bridge is
needed in GNONE to get this issue solved in the complete environment.

OD->williewalker: Or did I miss anything?
Comment 23 williewalker 2009-05-27 14:54:02 UTC
@williewalker -> od: sounds fair enough.  I haven't had a chance to test with
GNOME 2.26.0, but if you have done so and have verified this is fixed, then I'm
fine with closing this as fixed.  We can always re-open it if necessary.
Comment 24 Oliver-Rainer Wittmann 2009-05-27 15:05:13 UTC
We have not tested the fix in GNONE 2.26.0 - we only tested it in an
environment, in which we have replaced the gtk library libatk-bridge.so by the
one which Li Yuan had provided.

Thus, I propose that Eric (ES) should perform a test in an environment with
GNONE 2.26.0 and OOo 3.1
Comment 25 thorsten.ziehm 2009-07-20 14:55:51 UTC
This issue is closed automatically and wasn't rechecked in a current version of
OOo. The fixed issue should be integrated in OOo since more than half a year. If
you think this issue isn't fixed in a current version (OOo 3.1), please reopen
it and change the field 'Target Milestone' accordingly.

If you want to download a current version of OOo =>
http://download.openoffice.org/index.html
If you want to know more about the handling of fixed/verified issues =>
http://wiki.services.openoffice.org/wiki/Handle_fixed_verified_issues
Comment 26 thorsten.ziehm 2009-07-20 15:36:15 UTC
Sorry this issue was wrongly closed. This issue will be reopened automatically.
And will be set after that back to fixed/verified.
Comment 27 thorsten.ziehm 2009-07-20 15:40:42 UTC
Set to state 'fixed'.
Comment 28 thorsten.ziehm 2009-07-20 15:44:41 UTC
Set back to state 'verified/fixed'.

Again. Sorry for the mass of mails.
Comment 29 joaniediggs 2009-08-03 00:05:20 UTC
Hi all. I just tested this in OOo-dev 3.2.0 DEV300m53 (Build:9412). The
following seems to be the case:

1. If you select an entire paragraph first, the events are emitted as expected.

2. If you select a character or word instead, or don't select anything (i.e. if
you perform the steps in the opening report), the events are not emitted.

Assuming I'm using a build that includes the intended fix, we really could use
having these events even when a full paragraph is not selected. Shall I re-open
this bug or open a new one?

Sorry and thanks!
Comment 30 Oliver-Rainer Wittmann 2009-08-03 08:45:24 UTC
OD->joaniediggs:
Unfortunately, I can not check this issue, because I have no environment which
contains the adjustment from Li Yuan for libatk-bridge.so. This adjustment is
needed. Otherwise this library does not contain the needed event mappings - see
issue comments from January 2009.
But, I have checked OOo's Writer implementation in the debugger. The Writer code
triggers event object:text-attributes-changed. Thus, this part of the fix works.
I will check OOo's ATK bridge implementation, if it handles the corresponding
event correct. Please stay tuned.

joaniediggs: Can you please assure that the libatk-bridge.so handles the
corresponding event correct?
Comment 31 Oliver-Rainer Wittmann 2009-08-03 10:39:18 UTC
OD->joaniediggs:
I have checked OOo's ATK bridge implementation. It works fine.
I have copied the adjusted libatk-bridge provided by Li Yuan via eMail into my
environment and checked the fix of this issue.
I performed the steps given above. Accerciser reported
object:text-attributes-changed events when performing these steps.

The fix assures that OOo Writer emits this accessibility event for the change of
attributes at the paragraph as I have extracted it from the defect description.
This event is not emitted for changing attributes at certain characters or at a
word.
If the paragraph is empty and nothing is selected, the formatting "actions"
Control + B, Control + I and Control + U change the attributes for the
paragraph. Thus, this event is emitted.
Comment 32 joaniediggs 2009-08-03 18:04:46 UTC
joaniediggs->od:

w.r.t. "The fix assures that OOo Writer emits this accessibility event for the
change of attributes at the paragraph as I have extracted it from the defect
description. This event is not emitted for changing attributes at certain
characters or at a word." I suppose that's my fault for not explicitly including
that text actually be typed and, at least on occasion, selected prior to step 4
in which the formatting of text is changed. My apologies.

Regardless, as far as I am concerned, this bug is not fixed because
object:text-attributes-changed events are not always emitted when text
attributes change. In fact, for the two most common user behaviors in this area,
namely:

1. pressing Ctrl+{B,I,U} before and after typing some text
2. selecting only a portion of the paragraph and then pressing Ctrl+{B,I,U}

we get no object:text-attributes-changed events. :-( We need to get
object:text-attributes-changed events.

Would you prefer that I reopen this bug or create a new bug?
Comment 33 Oliver-Rainer Wittmann 2009-08-04 08:32:55 UTC
od->joaniediggs:
Ok, this issue has solved the defect that no object:text-attributes-changed
events are emitted for changing text attributes at the paragraph.

I would prefer a new issue for solving the defect that no
object:text-attributes-changed are emitted for changing text attributes at a
certain text portion. Please submit a corresponding issue.
For this issue we have to decide which accessible object should emit this event
and what data (<OldValue> and <NewValue>) this event should contain - let us
discuss this in the new issue.

This issue can then be closed as FIXED in my opinion.
Comment 34 joaniediggs 2009-08-04 19:17:01 UTC
joaniediggs->od Issue 104008 has been opened. Thanks!
Comment 35 malte_timmermann 2010-01-08 09:13:49 UTC
Fixed and integrated => closing now..