All visible/interactive objects on Unity should be at least a Nux::InputArea subclass

Bug #706891 reported by Alejandro Piñeiro on 2011-01-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Unity
Invalid
Medium
Loïc Molinari

Bug Description

After the fix on bug 703054 Nux::Area includes a signal that notifies when a object is destroyed.

Bug 703054 includes a detailed description of why it is required, but in summary, it is required to update the state of the accessibility object related to that object, and avoid that this accessibility object keep interacting with a visual destroyed object

But not all the objects on Unity are Nux::Area subclasses, so we would not be notified of those objects destruction.

At this moment I can point to LauncherIcon as the poster boy of this situation. Further investigation is required to check if this is the case for other objects.

Related branches

Changed in unity:
assignee: nobody → Jay Taoko (jaytaoko)
David Barth (dbarth) wrote :

@loic: further to our discussion, can you see with Alejandro how to provide more update signals, but relying preferably on an orthogonal interface, rather than on sub-classing or changing the inheritance graph.

Changed in unity:
assignee: Jay Taoko (jaytaoko) → Loïc Molinari (loic.molinari)
status: New → Triaged
importance: Undecided → Medium
milestone: none → 3.6
Alejandro Piñeiro (apinheiro) wrote :

Just an additional comment: during the Rally on Dallas, Jay Taoko told me that he already planned move LauncherIcon to be a nux::Area subclass.

As he finally implemented the destroy signal on nux::Area I guess that his plan is still valid. Anyway he didn't confirm it on the questions I added on bug 703054, so it would be good to confirm that with Jay.

summary: - All visible/interactive objects on Unity should be at least a Nux::Area
- subclass
+ All visible/interactive objects on Unity should be at least a
+ Nux::InputArea subclass
Alejandro Piñeiro (apinheiro) wrote :

While working on bug 702696 I realized one thing.

Apart of the destroy event thing (that it is being solved by emitting this signal from the nux::Object or nux::Trackable) there is another reason it would be required, and it is related to the focus management support.

People are still working on the keyboard navigation of the launcher (bug 701546) but the fact is that it is supposed that it would be based on the current focus support. In that sense, in my atk implementation I'm using:
   * OnStartFocus
   * OnEndFocus
   * HasKeyboardFocus

in order to set the states related to the focus (ATK_STATE_FOCUSABLE, ATK_STATE_FOCUSED) [1] and to notify the focus changes [2]

And all of those functions are defined on InputArea.

[1] http://library.gnome.org/devel/atk/stable/atk-AtkState.html#AtkStateType
[2] http://library.gnome.org/devel/atk/stable/AtkObject.html#atk-object-notify-state-change

Alejandro Piñeiro (apinheiro) wrote :

Just an aclaration: I'm talking about any object that would effectively receive the focus. In the case of the Launcher I was talking about the Launcher itself.

As I said during the rally, each LauncherIcon doesn't require to get the focus. It can be viewed as a selection (so the launcher a11y implementation would require to implement AtkSelection, and each LauncherIcon accessible object a way to know if they are selected or not).

Neil J. Patel (njpatel) on 2011-02-07
Changed in unity:
milestone: 3.6 → 3.4.4
Loïc Molinari (loic.molinari) wrote :

Alejandro: Is that still valid? If so you should speak with Mirco Müller (Macslow) who's working on the keyboard navigation support, otherwise feel free to mark the bug as resolved.

Neil J. Patel (njpatel) on 2011-02-18
Changed in unity:
milestone: 3.4.4 → 3.4.6
Alejandro Piñeiro (apinheiro) wrote :

After the change made by Loic, by moving the destroy signal to nux::Object (in fact I used those on bug 718910), and after the quick review on the Launcher, seeing that the Launcher/LauncherIcon is more a selection/selected relation (so the LauncherIcon doesn't require to receive the key focus), this bug is not valid anymore.

So as the reasons of the bug are not valid anymore, I will close the bug as INVALID.

Thanks.

Changed in unity:
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers