Bug 375901 - [breadcrumb] skip the right arrows when using the keyboard
Summary: [breadcrumb] skip the right arrows when using the keyboard
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Text (show other bugs)
Version: 3.8   Edit
Hardware: All All
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: JDT-Text-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-03 00:30 EDT by Carolyn MacLeod CLA
Modified: 2022-09-16 17:58 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carolyn MacLeod CLA 2012-04-03 00:30:31 EDT
Eclipse SDK Version: 4.2.0
Build id: I20120315-1300

With focus in a java editor, type alt+shift+B to show in breadcrumb.
Now use the tab key to traverse through the breadcrumb.
(tab to traverse forwards, and shift+tab to traverse backwards).
Notice that the labels and the Show Children "menu buttons" are both traversable. Only one of them should be traversable. (i.e. the user needs to type twice as many tab keys as necessary to traverse the wnole breadcrumb).

Another problem with the breadcrumb is that when using a screen reader, the "menu buttons" do not have an accessible name. The "Show Children" tooltip should be used as the name. If these are toolbar buttons, and if they use the JFace ToolbarManager, then this part of the problem may be fixed when bug 375354 is fixed.
Comment 1 Dani Megert CLA 2012-04-03 06:31:58 EDT
(In reply to comment #0)
> Eclipse SDK Version: 4.2.0
> Build id: I20120315-1300
> 
> With focus in a java editor, type alt+shift+B to show in breadcrumb.
> Now use the tab key to traverse through the breadcrumb.
> (tab to traverse forwards, and shift+tab to traverse backwards).
> Notice that the labels and the Show Children "menu buttons" are both
> traversable. Only one of them should be traversable. (i.e. the user needs to
> type twice as many tab keys as necessary to traverse the wnole breadcrumb).

This is as designed and we have no plans to change this: The item and the arrow have different functionality and one of them has a context menu while the other doesn't. For faster navigation you can use Left/Right Arrow.


> Another problem with the breadcrumb is that when using a screen reader, the
> "menu buttons" do not have an accessible name. The "Show Children" tooltip
> should be used as the name. If these are toolbar buttons, and if they use the
> JFace ToolbarManager, then this part of the problem may be fixed when bug
> 375354 is fixed.

Yes, we use ToolBar and ToolBarManager. As mentioned in bug 375354 I'd even expect this being fixed in the SWT layer.

*** This bug has been marked as a duplicate of bug 375354 ***
Comment 2 Carolyn MacLeod CLA 2012-04-03 08:51:47 EDT
(In reply to comment #1)
> The item and the arrow have different functionality and one of them has a
> context menu while the other doesn't.

They both seem to have a context menu - type space bar when either one has focus - that's why I thought they were redundant.

> For faster navigation you can use Left/Right Arrow.

Much better - thanks.
Comment 3 Dani Megert CLA 2012-04-03 09:01:46 EDT
(In reply to comment #2)
> (In reply to comment #1)
> > The item and the arrow have different functionality and one of them has a
> > context menu while the other doesn't.
> 
> They both seem to have a context menu - type space bar when either one has
> focus - that's why I thought they were redundant.

No, that's the content. Try with the right mouse ;-).
Comment 4 Carolyn MacLeod CLA 2012-04-03 09:33:02 EDT
(In reply to comment #3)
>> They both seem to have a context menu - type space bar when either one has
>> focus - that's why I thought they were redundant.

> No, that's the content. Try with the right mouse ;-).

Ah, yes - context menu. :)  Also available with Shift+F10.  :)

The control still feels overly complicated for the keyboard user.  :)
The drop-down arrow buttons feel like they should just be decorative, and not functional, because as far as I can tell they don't add any useful function that the labels don't already have. The labels have nicer behavior for the mouse user, too, because if I click on a label to get the children menu and then decide that I don't want to navigate to those children, I can dismiss the menu by simply clicking again on the label (i.e. without moving the mouse at all, just left click again). With the button, the menu has to be dismissed with more effort, either by moving the mouse elsewhere, or by typing ESC.
Comment 5 Dani Megert CLA 2012-04-03 09:54:27 EDT
(In reply to comment #4)
> (In reply to comment #3)
> >> They both seem to have a context menu - type space bar when either one has
> >> focus - that's why I thought they were redundant.
> 
> > No, that's the content. Try with the right mouse ;-).
> 
> Ah, yes - context menu. :)  Also available with Shift+F10.  :)
> 
> The control still feels overly complicated for the keyboard user.  :)
> The drop-down arrow buttons feel like they should just be decorative, and not
> functional, because as far as I can tell they don't add any useful function
> that the labels don't already have. 

I'm sorry to contradict again. The label shows all elements on the same level (siblings), while the arrow shows the children.
Comment 6 Carolyn MacLeod CLA 2012-04-03 10:58:13 EDT
(In reply to comment #5)
> The label shows all elements on the same level (siblings),
> while the arrow shows the children.

But aren't the siblings the same as the parent's children?

If I have a breadcrumb that looks like this:
   1> AAA 2> BBB 3> CCC
Then the dropdown menu for 1> and AAA are the same, and the dropdown menu for 2> and BBB are the same, and the dropdown menu for 3> and CCC are the same.
I am unable to find a case where there is a difference. Am I missing something?
Comment 7 Dani Megert CLA 2012-04-03 11:22:32 EDT
(In reply to comment #6)
> (In reply to comment #5)
> > The label shows all elements on the same level (siblings),
> > while the arrow shows the children.
> 
> But aren't the siblings the same as the parent's children?

OK, you caught me :-). I guess we could simply jump over the arrows when using the keyboard.
Comment 8 Carolyn MacLeod CLA 2012-04-03 11:44:10 EDT
(In reply to comment #7)
>OK, you caught me :-).

*phew* - I was really starting to wonder what I could be missing.  :)

> I guess we could simply jump over the arrows when using the keyboard.

Actually, it kind of feels redundant even when clicking with the mouse...   :)
Comment 9 Dani Megert CLA 2012-04-03 11:50:40 EDT
(In reply to comment #8)
> (In reply to comment #7)
> >OK, you caught me :-).
> 
> *phew* - I was really starting to wonder what I could be missing.  :)
> 
> > I guess we could simply jump over the arrows when using the keyboard.
> 
> Actually, it kind of feels redundant even when clicking with the mouse...   :)

Yeah, the arrow is more to give you a visual clue and let it look like a breadcrumb.
Comment 10 Carolyn MacLeod CLA 2012-04-03 13:58:04 EDT
(In reply to comment #9)
> Yeah, the arrow is more to give you a visual clue and let it look like a
> breadcrumb.

Can we just use a label instead? Or maybe just prepend an arrow image to the other label's image and use a single control for each segment instead of 2 separate controls?
Comment 11 Dani Megert CLA 2012-04-04 03:04:40 EDT
(In reply to comment #10)
> (In reply to comment #9)
> > Yeah, the arrow is more to give you a visual clue and let it look like a
> > breadcrumb.
> 
> Can we just use a label instead? Or maybe just prepend an arrow image to the
> other label's image and use a single control for each segment instead of 2
> separate controls?

We made many cycles also with the designers when we created this breadcrumb and the current thing is what we came up with. If you find a better solution I'm happy to look at patches but I won't spend time on this. Sorry.
Comment 12 Carolyn MacLeod CLA 2012-04-04 07:29:49 EDT
No problem. I suspect there's not many people who use this feature.
(What happens if you simply switch the arrow button to a Label? Does it look awful? Is the breadcrumb still fully functional?)
Comment 13 Dani Megert CLA 2012-04-04 08:00:34 EDT
(In reply to comment #12)
> No problem. I suspect there's not many people who use this feature.
> (What happens if you simply switch the arrow button to a Label? Does it look
> awful? Is the breadcrumb still fully functional?)

As said I don't plan to spend time on this at the moment and I could only tell by actually trying this out.
Comment 14 Carolyn MacLeod CLA 2012-04-04 08:53:29 EDT
What class are the controls created in, and what project do I need to import to get it?
Comment 15 Dani Megert CLA 2012-04-04 08:59:29 EDT
(In reply to comment #14)
> What class are the controls created in, and what project do I need to import to
> get it?

http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/
    'org.eclipse.jdt.ui' project
        org.eclipse.jdt.internal.ui.javaeditor.breadcrumb package

But the code is also copied by Debug (almost 1:1).
Comment 16 Eclipse Genie CLA 2020-06-10 09:40:38 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 17 Eclipse Genie CLA 2022-09-16 17:58:31 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.