applets and focus indication

Hey there,
	So, I've just gotten round again to looking at

	again. I approved a patch from Padraig leading up to
2.0.0 which fixed this problem but was seriously objected to
by many people. That patch was reverted and Padraig has come
up with a less severe version - but I can see that essentially
the same objections will be raised.

	I want to reach a final decision on this very soon,
so I've written up a fairly detailed analysis of the problem.
I'd appreciate any constructive input :-)



	Some applets which themselves do not have any focusable
children or which have a tooltip associated with the toplevel
PanelApplet widget can take focus but do not display adequate
focus indication. For example:

	+ The Workspace Switcher has no focusable children, but
in order for the user to be able to popup the applet menu,
popup the applet's tooltip or move/remove the applet using
the keyboard, the applet must be able to take focus - hence
the PanelApplet widget takes focus in this case. However,
because the applet takes expands to fill the panel vertically
(on a horizontal panel) there is no room in which to draw a
focus indication.

	+ The CD Player has focusable children but has a tooltip
associated with the toplevel PanelApplet widget. In order for
that tooltip to be displayed it must be possible for the toplevel
widget to take focus. Once again, the applet does not allow room
for adequate focus indication to be drawn.

	+ The Window List has focusable children and no toplevel
tooltip. The toplevel widget, therefore, need not be focusable as
it is possible to display the popup applet menu with the keyboard
when one of the focusable children has focus.

	It is common sense that a visibile indication of where the
focus currently lies is required in order for any application to be
usable and accessible. In order to draw a focus indication around those
applets that currently do not have an adequate focus indication an area
around them, on which to draw the focus, must be provided.

	One option currently being considered is to reduce the size
allocated to the PanelApplet children by the amount required to draw
the indication. However there are issues with this:

	1) Currently, with the menu panel some applets have no border
whatsoever around them. This is seen by many people as a good thing
since this makes these applets "Fitt's Law compliant" - that is, by
clicking at the very edge of the screen you invoke some action on
the applet. By adding a border around some applets you break this.

	2) With themes where there is a large focus line width and
focus padding an applet on a small panel will have little or no
allocated space and are unusable.

	Conversly, another option being considered is to increase
the size of the panel so as that the same size is allocated to
the applet, but room is still left for a focus indication. Again,
there are problems with this approach.

	1) You still have the Fitt's Law problem.

	2) Increasing the size of the panel takes up valuable screen
real estate. It should be possible for an applet to handle any size
allocated to it - if this size isn't large enough for the user, then
the user should be the one to resize the panel.

	So what needs to be answered is:

	o Is it a valid requirement that applets should have a valid
	  focus indication?

	    --> I think yes.

	o Is it a valid requirement that applets should obey Fitts Law
	  and be triggerable by clicking on the screen edge? If it
	  is, then is it possible to do this even with a border around
	  the applets[1]

	    --> I think it would be nice to have this, but it only
	        currently works in a handful of situations - it
	        only works for some applets and only works on the
	        menu panel.

	o Is there any other way of indicating focus for these applets
	  other than drawing the usual focus indication around them?

	    --> I don't think so.

	o Which is a better way to ensure there is room to draw a focus
	  indication? - reduce the size allocated to the applet or increase
	  the size of the panel?

	    --> I'm thinking reducing the size of the applet is better.

	o Are toplevel tooltips neccessary on those applets with
	  focusable children? It seems rather extreme that their size
	  be reduced for the edge case of popping up this tooltip?

	    --> I'm aware that these tooltips are there to give so that
	        accessibility users can figure out which applet currently
	        has focus - but shouldn't each individual control in
	        the applet not give this information?

[1] - There is currently code in the panel to allow "event stretching",
      where an overlay window which extends to the edge of the screen
      is placed over the "stretched" widget and events to this window
      are propogated to the widget. A hack, but it could be made work
      for applets.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]