Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like
the following:
----------8<----------
* plants
* animals
** invertebrates
** vertebrates
---------->8----------
By pressing just Enter when the caret is inside a list item we create a
new list item. This is the basic mechanism. It's simple and it should
remain so.
If I want to make the previous list a bit more complex:
----------8<----------
* (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.)))
* (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms
of the kingdom Animalia or Metazoa.
They are divided into:)))
** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.)))
** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with
backbones or spinal columns.)))
---------->8----------
I have to be able to insert new lines inside a list item using the Enter
key but without creating a new list item. Let's consider the following
state:
----------8<----------
* (((= Plants =)))
---------->8----------
We have a level 1 heading inside a list item. The caret is inside the
heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<----------
* (((= Title 1
x =)))
---------->8----------
2. Continue editing in the same list item but after the heading, in a
paragraph:
----------8<----------
* (((= Title 1 =
x)))
---------->8----------
3. Create a new list item:
----------8<----------
* (((= Title 1 =)))
* x
---------->8----------
For the first outcome I think we all agree that the user has to press
Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3
B) Enter for 3 and CTRL/META+Enter for 2
(if you see any other options please step up)
I'm +1 for A) for the following reason: if the user has inserted a
heading in a list item then he will surely want to add more content
after that heading, thus pressing just Enter is the natural way of doing
this. From a technical POV the caret is first inside a heading and then
inside a list item so the heading should have the priority of handling
the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created,
which is using just Enter.
Please cast your votes and sorry for the long mail,
Marius
Normally we would choose the most obvious behavior, but here I'd say
that we must choose the least confusing one.
Having "embedded blocks" is something not so common, and users don't
always do things with structure in mind. Most users won't put a title in
the list because they want to make a structured/complex list item, but
because they want a bigger font. So, they will press enter, and then
they won't get a new list item, but a paragraph. So far they always
pressed enter to get a new list item, and suddenly it doesn't work
anymore. If they don't know about Ctrl+Enter, they'll keep adding
content to the list item. The content will be indented, and they don't
seem to be able to outdent it without removing the list item.
Again, users don't think in structure, they think in appearance. Having
a consistent key behavior is the best choice, and so far creating a new
list item is the most consistent behavior.
I vote B).
And we need good documentation for this feature, as otherwise it will be
hidden.
Btw, AFAIR Ctrl+Enter is PageBreak in MSO. Since we don't have
pagebreaks on web, it's OK to reassign this key.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/