a11y: message widget- allow focusing and activating the member name label from the keyboard
By looking at the message widget I can see there are various versions of a message tile. This relates to a full version of the message widget where there is an avatar a sender label a date label and a body. When looking at the accessibility tree with accerciser this part looks like this:
- There is a listbox with as many items as there are messages displayed in the current room.
- Each list item has our message widged as its child.
- Message widget is a subclass of GTKBox.
- In that GTKBox subclass there are some other GTKBoxes they are represented as fillers in the accessibility tree. e.g. Drawing area where the avatar is drawn on is inside such a filler, date label with GTKEventBox is inside a filler, message body is inside a filler and finally member label is inside the GTKEventBox that is represented as pannel in accerciser.
- All these containers have no text titles nor any other textual ATK related properties.
- Thus when presenting the list item that has been selected as a result of keyboard navigation GTK plus has to calculate the accessible name for the list item. Date label is always taken into account when calculating this and member name label is sometimes missing from this calculated accessible name for the corresponding list item.
I have looked into the message widget source code however I am unable to find out why this might be failing. For sure we are always displaying member name label when showing date label and still the member name label might sometimes become missing from the calculated accessible name.
In accerciser the member labels are all there and their state is visible. However I don't know how to trigger that accessible name calculation to happen from within accerciser to better explain this issue. When using the app with orca the member name label is often missing.