Quantcast

[Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

classic Classic list List threaded Threaded
12 messages Options
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi all,
     lately I've been working on ValueSet code, which is used in several
controls (e.g. color selection, color configuration, columns selection
in writer...), doing some cleanups. When the code will be more
manageable I plan to fix some little bugs (selection/focus).

Looking at the (not so clear) key-navigation code, I think that some of
its behaviors are not so intuitive. Here what I understood (and sorry
for the long mail):
* Right key allows to move from one item to the one on its right and,
   when the beginning of a line is reached, it moves to the end of the
   previous line. If the beginning of the first line is reached, it moves
   to the end of the last line (eventually moving through the "none"
   item, if present). Its behavior is not affected by Shift/Alt/Ctrl
   modifiers. Left key has symmetrical behavior.
* Up key allows to move from an item to the one above it. When the first
   line is reached, it moves to the same column of the last line (unless
   its a partial line which doesn't have that column, in which case the
   line is skipped and, if not visible, not shown at all), eventually
   moving through the "none" item if present. Its behavior is not
   affected by Shift/Alt/Ctrl modifiers. Down key has symmetrical
   behavior.
* Page Up key moves up of a number of lines equal to those visible (a
   "page"), maintaining the column. If in the middle of the first page,
   it moves to the "none" item (if present) or to the last item in the
   same column (last page). If the last line is partial, it's selected
   only if it has an item in that column, otherwise it's skipped.
   If any of Shift/Alt/Ctrl modifiers are pressed the selection does not
   move and the KeyStroke is passed to the handler of the base Control
   class (I didn't give a look at it yet).
   Page down has symmetrical behavior.
* Home key move to the "none" item if present, to the first element
   otherwise.
* End key moves to the last item.
* Return key selects an item (unless a flag does not disable this).
   If you press it in "Color configuration" UI, it closes the
   configuration window.

Is this behavior the expected/commonly accepted one?
I would like to propose:
* left/right motion should not wrap around from first to last (or last
   to first) item. Moving through lines is fine (behavior similar to
   moving through text), although we can also just stay on the same line
   and stop at its borders.
* up/down should not wrap around. If pressing up on a middle column of
   the first line, then it moves to the first item. If pressing down, it
   should move to the column below if present, to the last item
   otherwise.
   Please note that this is not similar to up/down navigation in text in
   writer (since I propose to move to first/last item if we cannot move
   of a whole line), but other application (e.g. thunderbird) behaves in
   this way. At least it allows to display (and make the user aware of)
   partial final lines.
* page up/down should mimic the behaviour of up/down keys: move in the
   same column when possible (even if the distance is less than a page)
   and, when pressed again and no motion in the current column is
   possible, reach the first/last element. I don't know if disabling
   navigation when key-modifiers are pressed makes sense.
* If "none" item is present, then it could be accessed only from the
   first item by pressing any of left/up (also page up/home ?) keys.
   When selected, it can be exited only by pressing right/down (also
   page down/end?) keys, but always lead to the first item.
* Return key behavior: at least it should not close the color
   configuration window, but my guess is that's a misconfiguration of
   the specific instance of ValueSet.

Although this behavior is consistent (allows to move/view all of the
items, without special cases if "none" item is present), I'm aware that
it imposes some more keystrokes in corner cases. If we decide to change
the current behavior and there's no clear idea on what to do, then we
can eventually give the proposed solution a first try and then evaluate
possible improvements.

Please let me know your opinions/suggestions!

Cheers
Matteo

PS: sorry for "spamming" but I missed the ux-advise list in my previous
email.
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Stefan Knorr (Astron) Stefan Knorr (Astron)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Matteo,

so, took me a while to find the courage to read that :) But good
observations these are.

Anyway, ...

> Is this behavior the expected/commonly accepted one?
> I would like to propose:
> * left/right motion should not wrap around from first to last (or last
>  to first) item. Moving through lines is fine (behavior similar to
>  moving through text), although we can also just stay on the same line
>  and stop at its borders.

Makes sense to me. Although, of course the decision depends on whether
we want to make it fast to go to an arbitrary position without much
exactitude or whether we want to make it fast to go to the exact
start/end. Your proposal seemingly aims for goal #2.


> * up/down should not wrap around. If pressing up on a middle column of
>  the first line, then it moves to the first item. If pressing down, it
>  should move to the column below if present, to the last item
>  otherwise.

From my Western perspective that does make sense. However, I fear,
such behaviour might be unexpected in some cultures (that use
top-to-bottom scripts). Any experts?


>  Please note that this is not similar to up/down navigation in text in
>  writer (since I propose to move to first/last item if we cannot move
>  of a whole line), but other application (e.g. thunderbird) behaves in
>  this way. At least it allows to display (and make the user aware of)
>  partial final lines.
> * page up/down should mimic the behaviour of up/down keys: move in the
>  same column when possible (even if the distance is less than a page)
>  and, when pressed again and no motion in the current column is
>  possible, reach the first/last element. I don't know if disabling
>  navigation when key-modifiers are pressed makes sense.

Makes sense. I guess, modifiers should be allowed (but not modify
anything), in all cases where that's possible without unintended
consequences.


> * If "none" item is present, then it could be accessed only from the
>  first item by pressing any of left/up (also page up/home ?) keys.
>  When selected, it can be exited only by pressing right/down (also
>  page down/end?) keys, but always lead to the first item.

Makes sense.

> * Return key behavior: at least it should not close the color
>  configuration window, but my guess is that's a misconfiguration of
>  the specific instance of ValueSet.

Not entirely sure about this one, although probably most people would
want to use Return and Tab the same way (i. e. to get to the next
widget and select a colour).


Astron.
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Astron,

On 03/03/2012 04:07 PM, Stefan Knorr (Astron) wrote:
> Hi Matteo,
>
> so, took me a while to find the courage to read that :) But good
> observations these are.

Yeah, I was quite afraid of the length of my email :) Thanks for reading
it all!

> Anyway, ...
>
>> Is this behavior the expected/commonly accepted one?
>> I would like to propose:
>> * left/right motion should not wrap around from first to last (or last
>>   to first) item. Moving through lines is fine (behavior similar to
>>   moving through text), although we can also just stay on the same line
>>   and stop at its borders.
>
> Makes sense to me. Although, of course the decision depends on whether
> we want to make it fast to go to an arbitrary position without much
> exactitude or whether we want to make it fast to go to the exact
> start/end. Your proposal seemingly aims for goal #2.
>

Well, in this case my goal is to let the user see the content of
not-full rows without explicitly looking for it, and to move rapidly
from an item to another without too much corrections.

>
>> * up/down should not wrap around. If pressing up on a middle column of
>>   the first line, then it moves to the first item. If pressing down, it
>>   should move to the column below if present, to the last item
>>   otherwise.
>
>  From my Western perspective that does make sense. However, I fear,
> such behaviour might be unexpected in some cultures (that use
> top-to-bottom scripts). Any experts?
>

Good catch. Also speaking from a Western perspective, I find it somewhat
confusing to be brought at the opposite side of the one I was moving to
(and columns can be long and involve scrolling, while rows don't
scroll). My point is that currently left/right let you navigate through
all the items, while up/down keys can leave a row "hidden".

>
>> * page up/down should mimic the behaviour of up/down keys: move in the
>>   same column when possible (even if the distance is less than a page)
>>   and, when pressed again and no motion in the current column is
>>   possible, reach the first/last element. I don't know if disabling
>>   navigation when key-modifiers are pressed makes sense.
>
> Makes sense. I guess, modifiers should be allowed (but not modify
> anything), in all cases where that's possible without unintended
> consequences.
>

I don't know the original goals of that features: currently it seems to
me that if you use modifiers than nothing happens.

>
>> * If "none" item is present, then it could be accessed only from the
>>   first item by pressing any of left/up (also page up/home ?) keys.
>>   When selected, it can be exited only by pressing right/down (also
>>   page down/end?) keys, but always lead to the first item.
>
> Makes sense.

I'm less sure of this, now. If a wrap around for up/down is desired, the
current behavior of always passing through the "none" item probably
makes more sense. Unless we find a dedicated key to select that item,
which could solve the situation. Any idea?

>
>> * Return key behavior: at least it should not close the color
>>   configuration window, but my guess is that's a misconfiguration of
>>   the specific instance of ValueSet.
>
> Not entirely sure about this one, although probably most people would
> want to use Return and Tab the same way (i. e. to get to the next
> widget and select a colour).
>

Wow. Too many things I didn't consider!
Honestly, my plans were to simplify code and provide a more consistent
behavior than the current one, that I find somehow confusing.
I guess we should wait for some hints on the desired up/down behavior
and then see how to proceed (if there's need to).

Thanks for your thoughts!
Matteo

>
> Astron.
> _______________________________________________
> LibreOffice mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/libreoffice

_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Stefan Knorr (Astron) Stefan Knorr (Astron)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Matteo,

> Well, in this case my goal is to let the user see the content of not-full
> rows without explicitly looking for it, and to move rapidly from an item to
> another without too much corrections.

I see.


> Good catch. Also speaking from a Western perspective, I find it somewhat
> confusing to be brought at the opposite side of the one I was moving to (and
> columns can be long and involve scrolling, while rows don't scroll). My
> point is that currently left/right let you navigate through all the items,
> while up/down keys can leave a row "hidden".

This again makes lots of sense to me. Also, we didn't hear anything
about wrapping around from top to bottom being necessary behaviour, so
I guess, just doing it should be fine.


> I don't know the original goals of that features: currently it seems to me
> that if you use modifiers than nothing happens.

As I said, I /think/ you should keep that behaviour.


>>> * If "none" item is present, then it could be accessed only from the
>>>  first item by pressing any of left/up (also page up/home ?) keys.
>>>  When selected, it can be exited only by pressing right/down (also
>>>  page down/end?) keys, but always lead to the first item.
>
> I'm less sure of this, now. If a wrap around for up/down is desired, the
> current behavior of always passing through the "none" item probably makes
> more sense. Unless we find a dedicated key to select that item, which could
> solve the situation. Any idea?

Hrm. Extremely wild idea: use backspace..?
More conventional idea: use Tab to go the normal items, use Shift-Tab
to go to the "None" item.


>>> * Return key behavior: at least it should not close the color
>>>  configuration window, but my guess is that's a misconfiguration of
>>>  the specific instance of ValueSet.
>>
>>
>> Not entirely sure about this one, although probably most people would
>> want to use Return and Tab the same way (i. e. to get to the next
>> widget and select a colour).

I just noticed that wrote that this is used for both both colour
configuration and selection ...
* for the configuration what I wrote makes sense
* for selection, less so – I guess, pressing Return there should
indeed close the popup


Astron.
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Astron,
     thanks for you feedback.
Before beginning to modify the behavior of key navigation, I'd like to
recap the things that I should do, as from my understanding of our
discussion. Would you mind confirming them (yes/no will suffice)?

* left/right keys should not wrap around from top to bottom or bottom
   to top
* up/down, page up/down should not wrap around from top to bottom or
   bottom to top
* up/down should move along the current column.
* page up/down should move to first/last item when no more motion in
   the same column is possible (I'm not sure you agreed on this)
* key modifiers should not modify navigation behavior, unless needed.
   In particular, ALT/CTRL should not disable motion through page up/down
   as they currently do.
* Use tab/shift tab for moving to/from NoneItem field. I don't know if
   this can be done, since these keys are use for moving through widgets,
   while we would use them for motion inside the same widget. I'll test
   it.
* If the previous is not possible, move to/from NoneItem field through
   normal motion keys, but the only entry/exit point is the first item.
* Return key should close menus
* Return key should not close ValueSet widgets embedded in other
   windows.

I'll start working on this after a final feedback from you.

Thanks and best regards
Matteo

On 03/12/2012 02:17 PM, Stefan Knorr (Astron) wrote:

> Hi Matteo,
>
>> Well, in this case my goal is to let the user see the content of not-full
>> rows without explicitly looking for it, and to move rapidly from an item to
>> another without too much corrections.
>
> I see.
>
>
>> Good catch. Also speaking from a Western perspective, I find it somewhat
>> confusing to be brought at the opposite side of the one I was moving to (and
>> columns can be long and involve scrolling, while rows don't scroll). My
>> point is that currently left/right let you navigate through all the items,
>> while up/down keys can leave a row "hidden".
>
> This again makes lots of sense to me. Also, we didn't hear anything
> about wrapping around from top to bottom being necessary behaviour, so
> I guess, just doing it should be fine.
>
>
>> I don't know the original goals of that features: currently it seems to me
>> that if you use modifiers than nothing happens.
>
> As I said, I /think/ you should keep that behaviour.
>
>
>>>> * If "none" item is present, then it could be accessed only from the
>>>>   first item by pressing any of left/up (also page up/home ?) keys.
>>>>   When selected, it can be exited only by pressing right/down (also
>>>>   page down/end?) keys, but always lead to the first item.
>>
>> I'm less sure of this, now. If a wrap around for up/down is desired, the
>> current behavior of always passing through the "none" item probably makes
>> more sense. Unless we find a dedicated key to select that item, which could
>> solve the situation. Any idea?
>
> Hrm. Extremely wild idea: use backspace..?
> More conventional idea: use Tab to go the normal items, use Shift-Tab
> to go to the "None" item.
>
>
>>>> * Return key behavior: at least it should not close the color
>>>>   configuration window, but my guess is that's a misconfiguration of
>>>>   the specific instance of ValueSet.
>>>
>>>
>>> Not entirely sure about this one, although probably most people would
>>> want to use Return and Tab the same way (i. e. to get to the next
>>> widget and select a colour).
>
> I just noticed that wrote that this is used for both both colour
> configuration and selection ...
> * for the configuration what I wrote makes sense
> * for selection, less so – I guess, pressing Return there should
> indeed close the popup
>
>
> Astron.
>

_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Stefan Knorr (Astron) Stefan Knorr (Astron)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Matteo,

> Would you mind confirming them (yes/no will suffice)?

Yes. I believe that's all as we discussed. I hope all of this makes
sense, if not, we'll see later on. :)

Astron.
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Cor Nouws Cor Nouws
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

In reply to this post by Matteo Casalin-2
Hi Matteo, Stefan,

Great that you care for this, Matteo!
And of course that you helped with discussing, Stefan.

I'm a bit late: trouble to keep in track with the various topics in the
community, but found this important enough to read and try to add some
thoughts. Sorry if it is a bit too late.

Matteo Casalin wrote (03-03-12 18:54)
> On 03/03/2012 04:07 PM, Stefan Knorr (Astron) wrote:

>>> * left/right motion should not wrap around from first to last (or last
>>> to first) item. Moving through lines is fine (behavior similar to
>>> moving through text), although we can also just stay on the same line
>>> and stop at its borders.
>>
>> Makes sense to me. Although, of course the decision depends on whether
>> we want to make it fast to go to an arbitrary position without much
>> exactitude or whether we want to make it fast to go to the exact
>> start/end. Your proposal seemingly aims for goal #2.
>
> Well, in this case my goal is to let the user see the content of
> not-full rows without explicitly looking for it, and to move rapidly
> from an item to another without too much corrections.

OK for me.

>>> * page up/down should mimic the behaviour of up/down keys: move in the
>>> same column when possible (even if the distance is less than a page)
>>> and, when pressed again and no motion in the current column is
>>> possible, reach the first/last element. I don't know if disabling
>>> navigation when key-modifiers are pressed makes sense.
>>
>> Makes sense. I guess, modifiers should be allowed (but not modify
>> anything), in all cases where that's possible without unintended
>> consequences.
>
> I don't know the original goals of that features: currently it seems to
> me that if you use modifiers than nothing happens.

One could say, that because in other locations using modifiers do make a
difference, it is good to have that here too, thus that unintended use
of the modifiers, while no specific function is linked to that use,
indeed results in nothing happening.

>>> * If "none" item is present, then it could be accessed only from the
>>> first item by pressing any of left/up (also page up/home ?) keys.
>>> When selected, it can be exited only by pressing right/down (also
>>> page down/end?) keys, but always lead to the first item.
>>
>> Makes sense.
>
> I'm less sure of this, now. If a wrap around for up/down is desired, the
> current behavior of always passing through the "none" item probably
> makes more sense. Unless we find a dedicated key to select that item,
> which could solve the situation. Any idea?

I agree with always passing through the "none" item.

>>> * Return key behavior: at least it should not close the color
>>> configuration window, but my guess is that's a misconfiguration of
>>> the specific instance of ValueSet.

Not sure which window you are looking at (Tools > Options > General ->
Colors -> Edit ?) and what behaviour is odd.

>> Not entirely sure about this one, although probably most people would
>> want to use Return and Tab the same way (i. e. to get to the next
>> widget and select a colour).

When there is some select+close behaviour, I never expect the Return to
move to another widget.
>
> Wow. Too many things I didn't consider!
> Honestly, my plans were to simplify code and provide a more consistent
> behavior than the current one, that I find somehow confusing.
> I guess we should wait for some hints on the desired up/down behavior
> and then see how to proceed (if there's need to).

More: there is different (Alt) Return-key behaviour sometimes in various
windows. Sometimes Space selects an item, sometimes Return and space can
do. etc. etc.
Is this included in your current investigation too ?

Regards,


--
  - Cor
  - http://nl.libreoffice.org

_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Cor, all

On 03/21/2012 01:23 PM, Cor Nouws wrote:

> Hi Matteo, Stefan,
>
> Great that you care for this, Matteo!
> And of course that you helped with discussing, Stefan.
>
> I'm a bit late: trouble to keep in track with the various topics in the
> community, but found this important enough to read and try to add some
> thoughts. Sorry if it is a bit too late.
>
> Matteo Casalin wrote (03-03-12 18:54)
>> On 03/03/2012 04:07 PM, Stefan Knorr (Astron) wrote:
>
>>>> * left/right motion should not wrap around from first to last (or last
>>>> to first) item. Moving through lines is fine (behavior similar to
>>>> moving through text), although we can also just stay on the same line
>>>> and stop at its borders.
>>>
>>> Makes sense to me. Although, of course the decision depends on whether
>>> we want to make it fast to go to an arbitrary position without much
>>> exactitude or whether we want to make it fast to go to the exact
>>> start/end. Your proposal seemingly aims for goal #2.
>>
>> Well, in this case my goal is to let the user see the content of
>> not-full rows without explicitly looking for it, and to move rapidly
>> from an item to another without too much corrections.
>
> OK for me.
>
>>>> * page up/down should mimic the behaviour of up/down keys: move in the
>>>> same column when possible (even if the distance is less than a page)
>>>> and, when pressed again and no motion in the current column is
>>>> possible, reach the first/last element. I don't know if disabling
>>>> navigation when key-modifiers are pressed makes sense.
>>>
>>> Makes sense. I guess, modifiers should be allowed (but not modify
>>> anything), in all cases where that's possible without unintended
>>> consequences.
>>
>> I don't know the original goals of that features: currently it seems to
>> me that if you use modifiers than nothing happens.
>
> One could say, that because in other locations using modifiers do make a
> difference, it is good to have that here too, thus that unintended use
> of the modifiers, while no specific function is linked to that use,
> indeed results in nothing happening.

Sorry, I think I made a little confusion here saying "nothing happens":
in my previous mail those words meant "if page up/down are pressed while
holding a key modifier, then the highlighting box is not moved but stays
on the previously highlighted item", but it could also be understood as
"cursor is moved but no special action is taken".
So: should the current behavior (highlighting box does not move) be kept
or should the modifiers be neglected and the highlighting box move one
page up/down as if the unmodified page up/down where pressed? My feeling
is that the first solution is the desired one, but I would prefer to
have a final confirmation on this.

>>>> * If "none" item is present, then it could be accessed only from the
>>>> first item by pressing any of left/up (also page up/home ?) keys.
>>>> When selected, it can be exited only by pressing right/down (also
>>>> page down/end?) keys, but always lead to the first item.
>>>
>>> Makes sense.
>>
>> I'm less sure of this, now. If a wrap around for up/down is desired, the
>> current behavior of always passing through the "none" item probably
>> makes more sense. Unless we find a dedicated key to select that item,
>> which could solve the situation. Any idea?
>
> I agree with always passing through the "none" item.

I think we should split this point in two:
* Should top/bottom wrap-around behavior be allowed? This is the
   current solution, but honestly I find it somewhat confusing (columns
   can be long and scrolling can be involved) and, from my understanding,
   Astron already agreed to remove this "feature". If this wrap-around
   should be kept, then passing through NoneItem is required (unless we
   find a specific key combination to select/deselect it).
* If we do not want this wrap-around, what should we do for NoneItem? My
   original proposal involved moving first to the first item, from where
   the NoneItem could be accessed (with up/left key-presses). This may be
   too tricky. Better approaches could be:
   * NoneItem is accessed from:
     * any item in the first row by pressing "up"
     * the first item also by pressing "left"
   * NoneItem can be exited by pressing
     * "down", which move to first item in the last selected column
     * "right", which moves to the first item of the first column
   This would allow to alway move in nearby locations, with full control
   on what is being done. I would exclude page up/down because NoneItem
   cannot be considered part of a page and, moreover, I wouldn't be able
   to say what's the correct target position for page down when in
   NoneItem. For consistency with this, I would also exclude "home" and
   "end", but I'm less strong biased on this.
   This proposal is of course arguable and my approach is biased by my
   programmer side (I prefer to avoid special cases).

>
>>>> * Return key behavior: at least it should not close the color
>>>> configuration window, but my guess is that's a misconfiguration of
>>>> the specific instance of ValueSet.
>
> Not sure which window you are looking at (Tools > Options > General ->
> Colors -> Edit ?) and what behaviour is odd.

Correct, the window is the one you pointed to. I find odd that pressing
"return" key while moving through the ValueSet items closes that window,
especially because during key-navigation items are highlighted with a
different border than the one used for selected ones: this would lead me
to press the "return" key to perform a selection, but that also closes
the window. Using TAB to move to the next widget could be a solution,
but it's not straightforward, IMHO, since in other instances of ValueSet
(color selection menus) return is a better choice for selection. While I
expect a menu to close on selection, I do not expect a window to do so.
ValueSet key-navigation code seems to offer two different ways of
handling return keys, depending on WB_NO_DIRECTSELECT configuration
flag, but I didn't investigate it deeply, yet.

>>> Not entirely sure about this one, although probably most people would
>>> want to use Return and Tab the same way (i. e. to get to the next
>>> widget and select a colour).
>
> When there is some select+close behaviour, I never expect the Return to
> move to another widget.

My point is if "select + close" is right for e.g. the configuration
window. I would expect that window to close if any of its exit buttons
were selected and return was pressed, but I just verified that it's
closed on "return" key-press almost independently on the selected
widget: the only exception found so far is when the "RGB/CYMK" dropbox
is expanded, in which case return is used for selecting the highlighted
item and close the drop down.
What's the correct/desired behavior?

>>
>> Wow. Too many things I didn't consider!
>> Honestly, my plans were to simplify code and provide a more consistent
>> behavior than the current one, that I find somehow confusing.
>> I guess we should wait for some hints on the desired up/down behavior
>> and then see how to proceed (if there's need to).
>
> More: there is different (Alt) Return-key behaviour sometimes in various
> windows. Sometimes Space selects an item, sometimes Return and space can
> do. etc. etc.
> Is this included in your current investigation too ?

As pointed out earlier, I have no clear idea about this but I find that
current behavior is not very "consistent". This is something that has a
wider scope than the ValueSet widget itself and should be addressed on
its own.

> Regards,
>
>

I currently have made some modification to the navigation code,
according to the action list validated by Astron. I plan to play with
this code at least until I feel comfortable with the results and I also
get some more feedback about the points discussed in this email. Since
real usage is showing me that some of my original proposals are not so
user friendly, so we will probably need to refine this behavior after
some tests in the field.

Thanks and best regards
Matteo
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Cor Nouws Cor Nouws
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Matteo Casalin wrote (23-03-12 21:30)

> On 03/21/2012 01:23 PM, Cor Nouws wrote:

>> One could say, that because in other locations using modifiers do make a
>> difference, it is good to have that here too, thus that unintended use
>> of the modifiers, while no specific function is linked to that use,
>> indeed results in nothing happening.
>
> Sorry, I think I made a little confusion here saying "nothing happens":
> in my previous mail those words meant "if page up/down are pressed while
> holding a key modifier, then the highlighting box is not moved but stays
> on the previously highlighted item", but it could also be understood as
> "cursor is moved but no special action is taken".
> So: should the current behavior (highlighting box does not move) be kept
> or should the modifiers be neglected and the highlighting box move one
> page up/down as if the unmodified page up/down where pressed? My feeling
> is that the first solution is the desired one, but I would prefer to
> have a final confirmation on this.

I agree with you.

>> I agree with always passing through the "none" item.
>
> I think we should split this point in two:
> * Should top/bottom wrap-around behavior be allowed? This is the
> current solution, but honestly I find it somewhat confusing (columns
> can be long and scrolling can be involved) and, from my understanding,
> Astron already agreed to remove this "feature".

OK for me.

> If this wrap-around
> should be kept, then passing through NoneItem is required (unless we
> find a specific key combination to select/deselect it).
> * If we do not want this wrap-around, what should we do for NoneItem?

OK..

> My original proposal involved moving first to the first item, from where
> the NoneItem could be accessed (with up/left key-presses). This may be
> too tricky.

Current behaviour (from your 1st mail) does not remind me of
difficulties while using:
* Home key move to the "none" item if present, to the first element
   otherwise.
* End key moves to the last item.

>  Better approaches could be:
> * NoneItem is accessed from:
> * any item in the first row by pressing "up"
> * the first item also by pressing "left"

I would prefer the current behaviour. I associate Home & End with that.

> * NoneItem can be exited by pressing
> * "down", which move to first item in the last selected column
> * "right", which moves to the first item of the first column

I agree with that.

> This would allow to alway move in nearby locations, with full control
> on what is being done. I would exclude page up/down because NoneItem
> cannot be considered part of a page and, moreover, I wouldn't be able
> to say what's the correct target position for page down when in
> NoneItem. For consistency with this, I would also exclude "home" and
> "end", but I'm less strong biased on this.

So that opens the door to an agreement ;-)

> This proposal is of course arguable and my approach is biased by my
> programmer side (I prefer to avoid special cases).
>
>>
>>>>> * Return key behavior: at least it should not close the color
>>>>> configuration window, but my guess is that's a misconfiguration of
>>>>> the specific instance of ValueSet.
>>
>> Not sure which window you are looking at (Tools > Options > General ->
>> Colors -> Edit ?) and what behaviour is odd.
>
> Correct, the window is the one you pointed to. I find odd that pressing
> "return" key while moving through the ValueSet items closes that window,
> especially because during key-navigation items are highlighted with a
> different border than the one used for selected ones: this would lead me
> to press the "return" key to perform a selection, but that also closes
> the window.

I agree that it is confusing. Quite often (always?) when in a
list/control where items can be selected, Alt-Return is needed to start
the OK button.
In other situations, just Return is sufficient.

> Using TAB to move to the next widget could be a solution,
> but it's not straightforward, IMHO, since in other instances of ValueSet
> (color selection menus) return is a better choice for selection. While I
> expect a menu to close on selection, I do not expect a window to do so.
> ValueSet key-navigation code seems to offer two different ways of
> handling return keys, depending on WB_NO_DIRECTSELECT configuration
> flag, but I didn't investigate it deeply, yet.

OK, looks as in indicator in the direction of what users experience ;-)

>>>> Not entirely sure about this one, although probably most people would
>>>> want to use Return and Tab the same way (i. e. to get to the next
>>>> widget and select a colour).
>>
>> When there is some select+close behaviour, I never expect the Return to
>> move to another widget.
>
> My point is if "select + close" is right for e.g. the configuration
> window. I would expect that window to close if any of its exit buttons
> were selected and return was pressed, but I just verified that it's
> closed on "return" key-press almost independently on the selected
> widget: the only exception found so far is when the "RGB/CYMK" dropbox
> is expanded, in which case return is used for selecting the highlighted
> item and close the drop down.
> What's the correct/desired behavior?

I am not completely unhappy with the current behaviour (as I wrote out a
bit before).
(But that might be because I just add some random modifier when hitting
a certain key does not give the desired effect ;-) )
But ... for me it would be logic that
- selecting an item from a combobox, is done with Tab or Enter
- selecting an option or checkbox is done with space
- OK is always Enter
Or do I miss situations?

[ skipped some other thoughts on ALt-Return behaviour ]

> I currently have made some modification to the navigation code,
> according to the action list validated by Astron. I plan to play with
> this code at least until I feel comfortable with the results and I also
> get some more feedback about the points discussed in this email. Since
> real usage is showing me that some of my original proposals are not so
> user friendly, so we will probably need to refine this behavior after
> some tests in the field.

Yes, good idea.
When part is available in master, I would like to play with it (and
other prolly too).

Cheers,

--
  - Cor
  - http://nl.libreoffice.org

_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi all,
     I just pushed my rework of ValueSet key navigation to master. Main
differences from the old one are:
* No more vertical wrap-around
* Last item can be easily displayed also when on a shorter row
ALso, the general behavior should be more consistent. NoneItem, if
present, is still selected by normal key navigation (no special keys).
Next steps: fix the code that handles item selection.

Looking forward to your feedback
Matteo

On 03/24/2012 12:31 AM, Cor Nouws wrote:

> Matteo Casalin wrote (23-03-12 21:30)
>
>> On 03/21/2012 01:23 PM, Cor Nouws wrote:
>
>>> One could say, that because in other locations using modifiers do make a
>>> difference, it is good to have that here too, thus that unintended use
>>> of the modifiers, while no specific function is linked to that use,
>>> indeed results in nothing happening.
>>
>> Sorry, I think I made a little confusion here saying "nothing happens":
>> in my previous mail those words meant "if page up/down are pressed while
>> holding a key modifier, then the highlighting box is not moved but stays
>> on the previously highlighted item", but it could also be understood as
>> "cursor is moved but no special action is taken".
>> So: should the current behavior (highlighting box does not move) be kept
>> or should the modifiers be neglected and the highlighting box move one
>> page up/down as if the unmodified page up/down where pressed? My feeling
>> is that the first solution is the desired one, but I would prefer to
>> have a final confirmation on this.
>
> I agree with you.
>
>>> I agree with always passing through the "none" item.
>>
>> I think we should split this point in two:
>> * Should top/bottom wrap-around behavior be allowed? This is the
>> current solution, but honestly I find it somewhat confusing (columns
>> can be long and scrolling can be involved) and, from my understanding,
>> Astron already agreed to remove this "feature".
>
> OK for me.
>
>> If this wrap-around
>> should be kept, then passing through NoneItem is required (unless we
>> find a specific key combination to select/deselect it).
>> * If we do not want this wrap-around, what should we do for NoneItem?
>
> OK..
>
>> My original proposal involved moving first to the first item, from where
>> the NoneItem could be accessed (with up/left key-presses). This may be
>> too tricky.
>
> Current behaviour (from your 1st mail) does not remind me of
> difficulties while using:
> * Home key move to the "none" item if present, to the first element
> otherwise.
> * End key moves to the last item.
>
>> Better approaches could be:
>> * NoneItem is accessed from:
>> * any item in the first row by pressing "up"
>> * the first item also by pressing "left"
>
> I would prefer the current behaviour. I associate Home & End with that.
>
>> * NoneItem can be exited by pressing
>> * "down", which move to first item in the last selected column
>> * "right", which moves to the first item of the first column
>
> I agree with that.
>
>> This would allow to alway move in nearby locations, with full control
>> on what is being done. I would exclude page up/down because NoneItem
>> cannot be considered part of a page and, moreover, I wouldn't be able
>> to say what's the correct target position for page down when in
>> NoneItem. For consistency with this, I would also exclude "home" and
>> "end", but I'm less strong biased on this.
>
> So that opens the door to an agreement ;-)
>
>> This proposal is of course arguable and my approach is biased by my
>> programmer side (I prefer to avoid special cases).
>>
>>>
>>>>>> * Return key behavior: at least it should not close the color
>>>>>> configuration window, but my guess is that's a misconfiguration of
>>>>>> the specific instance of ValueSet.
>>>
>>> Not sure which window you are looking at (Tools > Options > General ->
>>> Colors -> Edit ?) and what behaviour is odd.
>>
>> Correct, the window is the one you pointed to. I find odd that pressing
>> "return" key while moving through the ValueSet items closes that window,
>> especially because during key-navigation items are highlighted with a
>> different border than the one used for selected ones: this would lead me
>> to press the "return" key to perform a selection, but that also closes
>> the window.
>
> I agree that it is confusing. Quite often (always?) when in a
> list/control where items can be selected, Alt-Return is needed to start
> the OK button.
> In other situations, just Return is sufficient.
>
>> Using TAB to move to the next widget could be a solution,
>> but it's not straightforward, IMHO, since in other instances of ValueSet
>> (color selection menus) return is a better choice for selection. While I
>> expect a menu to close on selection, I do not expect a window to do so.
>> ValueSet key-navigation code seems to offer two different ways of
>> handling return keys, depending on WB_NO_DIRECTSELECT configuration
>> flag, but I didn't investigate it deeply, yet.
>
> OK, looks as in indicator in the direction of what users experience ;-)
>
>>>>> Not entirely sure about this one, although probably most people would
>>>>> want to use Return and Tab the same way (i. e. to get to the next
>>>>> widget and select a colour).
>>>
>>> When there is some select+close behaviour, I never expect the Return to
>>> move to another widget.
>>
>> My point is if "select + close" is right for e.g. the configuration
>> window. I would expect that window to close if any of its exit buttons
>> were selected and return was pressed, but I just verified that it's
>> closed on "return" key-press almost independently on the selected
>> widget: the only exception found so far is when the "RGB/CYMK" dropbox
>> is expanded, in which case return is used for selecting the highlighted
>> item and close the drop down.
>> What's the correct/desired behavior?
>
> I am not completely unhappy with the current behaviour (as I wrote out a
> bit before).
> (But that might be because I just add some random modifier when hitting
> a certain key does not give the desired effect ;-) )
> But ... for me it would be logic that
> - selecting an item from a combobox, is done with Tab or Enter
> - selecting an option or checkbox is done with space
> - OK is always Enter
> Or do I miss situations?
>
> [ skipped some other thoughts on ALt-Return behaviour ]
>
>> I currently have made some modification to the navigation code,
>> according to the action list validated by Astron. I plan to play with
>> this code at least until I feel comfortable with the results and I also
>> get some more feedback about the points discussed in this email. Since
>> real usage is showing me that some of my original proposals are not so
>> user friendly, so we will probably need to refine this behavior after
>> some tests in the field.
>
> Yes, good idea.
> When part is available in master, I would like to play with it (and
> other prolly too).
>
> Cheers,
>

_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Stefan Knorr (Astron) Stefan Knorr (Astron)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

Hi Matteo,

it's been some time, I know – but I had this among my drafts... I hope
you'll forgive.

>    I just pushed my rework of ValueSet key navigation to master. Main
> differences from the old one are:
> * No more vertical wrap-around
> * Last item can be easily displayed also when on a shorter row

Seems good to me, so far, I've tried it...

Astron.
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Matteo Casalin-2 Matteo Casalin-2
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [Libreoffice-ux-advise] [UX advise] Key navigation in ValueSet controls

On 05/25/2012 05:46 PM, Stefan Knorr (Astron) wrote:
> Hi Matteo,
>
> it's been some time, I know – but I had this among my drafts... I hope
> you'll forgive.

Nevermind :)
I also have been quite busy on other tasks lately.

>>     I just pushed my rework of ValueSet key navigation to master. Main
>> differences from the old one are:
>> * No more vertical wrap-around
>> * Last item can be easily displayed also when on a shorter row
>
> Seems good to me, so far, I've tried it...
>
> Astron.
>

Glad to hear that :)
I've been trying to fix some other quirks of the ValueSet widget, but I
find it quite convoluted and I have not so much free time.
I guess I'll focus on some other small fixes in other areas in order to
clear my mind, asking for your feedback in case of doubt.

Cheers
Matteo
_______________________________________________
Libreoffice-ux-advise mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise
Loading...