[wp-trac] [WordPress Trac] #28979: Customizer panels should have the same priority hierarchy as Sections
WordPress Trac
noreply at wordpress.org
Tue Jul 22 01:49:55 UTC 2014
#28979: Customizer panels should have the same priority hierarchy as Sections
--------------------------+-----------------------
Reporter: mattwiebe | Owner:
Type: defect (bug) | Status: reopened
Priority: normal | Milestone: 4.0
Component: Customize | Version: trunk
Severity: normal | Resolution:
Keywords: ux-feedback | Focuses: ui
--------------------------+-----------------------
Changes (by celloexpressions):
* keywords: => ux-feedback
* focuses: => ui
Comment:
Biggest UX thing for me is that we need to do something about the tiny
arrow indicators for sliding down/right if we even want to consider this.
Some things sliding down and others sliding sideways and switching
contexts seemingly at random results in incredibly confusing UX, and it's
nearly impossible to tell which direction the arrow points if they aren't
grouped by direction (and it's not great anyway).
I have a feeling, for some reason, that people will use panels more
appropriately (and generally try to keep their interfaces simpler/easier
to use) if they're all at the top, as that implies their importance and
pushes traditional sections lower. Also, a reminder for everyone that
panels do support priority, and are sorted by their priorities. Once there
are more core (and plugin) panels, the grouping at the top will make more
sense. I've been using the Customizer with both Widgets and Menus panels
since this was introduced, and that may be influencing my opinion here.
But '''since there will inevitably be more core panels in the future, any
proposed changes/implementations here need to be tested with multiple
panels. Making a decision here based solely on the placement of Widgets
would be a big mistake'''.
@nacin do you have a why for "widgets shouldn't be at the top, that's
wrong"? Besides the current implementation, Widgets are currently at the
top because they're the most likely to be edited the most frequently.
Users rarely change things like site title/tagline, colors,
header/background, static front page, etc. after initial setup, but
they're likely to tweak Widgets much more frequently. If they're near the
top, users don't need to search long for them when they visit the
Customizer for the first time in a while looking to make a change there.
In the context of panels generally, the argument is that panels should
generally be used for things that require an entrely separate context, and
one that would be used more frequently than standard sections. Eventually,
everything that's currently in a top-level section could potentially be
moved to a "theme options" panel, so we should consider that possibility
as well.
A big reason to have kept this on #27406 is that the path to the
implementation we currently have is documented there. Other than comments
specific to the sorting issue, we went with an API that specifically makes
panels and sections distinct objects, like sections and controls are. That
`WP_Customize_Panel` extends `WP_Customize_Section` is an implementation
detail, IMO. And rather than mixing sortings, I would be interested in UI
changes that give panels hierarchy with respect to top-level sections, as
they're fundamentally different things.
Dump of relevant comments from #27406 to attempt to de-fragment the
discussion:
celloexpressions:
> We can (and should consider) group top-level-sections and pages together
for sorting by priority in the page approach; and could look into a
WP_Customize_Group class that WP_Customize_Section and WP_Customize_Page
both extend (@westonruter's idea).
''Note: the "page" approach is what made it into core; in the other
approach, sections had parent sections that were still sections.''
> Should all panels be listed before top-level sections, or should they
have mixed sorting? I think it's better to keep them separate, as the
small arrow indicators are more effective when grouped, and users are
probably more likely to need to use a panel then a top-level section when
entering the Customizer at any given time (if Widgets and Menus are
panels, for example).
ethitter:
> Sections already support priority. Since a Panel is an extension of the
WP_Customize_Section class, shouldn't it respect priority?
helen:
> Not sure about grouping panels vs. sections - I can see how it would
make sense to group them together, but the ordering feels wrong with
Widgets at the top.
celloexpressions:
> Sorting/priorities: in the current implementation, all panels are
displayed by their priorities and then all sections are displayed by their
priorities. Until there are more panels in core, that does mean that
widgets will often be alone at the top (pending theme/plugin panels). We
certainly could do mixed priorities, although that would be a bit less
elegant, as we may need two copies of everything in WP_Customize_Manager
(panels, sections, and the combined array, perhaps groups). I think we
should think about this from a UI/UX perspective and get some feedback.
For me, having the panels at the top makes sense because the types of
things that'll go in panels will generally be more-commonly-used (ie,
users change their widgets more frequently than their site title/tagline,
header/background, colors, static front page, etc.). Could probably get
some stats from .com to back that up (even though their customizer UI is
fairly different).
> Only remaining item here, barring any bugs, is whether panels and top-
level sections should have independent or mixed sortings. The current,
separate approach is a cleaner implementation and asserts than panels
contain more-commonly-used controls. It also makes it easier, as a user,
to distinguish between panels that will completely change the Customizer's
context and sections, which simply open inline. I imagine that would
create a really strange user experience, unless there is a more obvious
visual distinction between panels and top-level sections. Eventually, I
could see a time when we may force all sections to be contained in a panel
(placing unspecified ones into a generic panel), so we may want to
consider that as well.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/28979#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list