New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 611826 link

Starred by 11 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 614588
issue 614589



Sign in to add a comment

Discoverable buttons in Material WebUI

Project Member Reported by michae...@chromium.org, May 13 2016

Issue description

Chrome Settings is full of non-traditional buttons which open sub-pages but don't look button-y. How can we make these more discoverable?

We avoid hover state effects, and presumably should give actionable elements a pointer (hand) cursor. What else can we do to differentiate between plain text and content that opens more content?

An example with the Passwords section is attached. The toggle button disables the features, but tapping the row itself expands to show more settings when the feature is enabled.
 
passwords.png
14.7 KB View Download

Comment 1 by dpa...@chromium.org, May 13 2016

Thanks for filing this Michael.

For the particular example of "Password and forms" I have founded confusing that I can no longer enter the subpage when the toggle button is off. Perhaps the entire row should be grayed out to indicate that is "disabled".

Moreover, as a user I would like to be able to select (copy, paste) some text from md-settings, for example the Chrome version string from the about page. Currently no text is selectable, but in various places the cursor is misleading (looks like "I" which indicates something is selectable).
#1: cursor status and selectability should be filed as [a] separate issue(s).

Comment 3 by bettes@chromium.org, May 16 2016

Owner: ----
For the record, 

- there are no hovers used in md-webui
- hand cursors should be used for all clickable items: rows that go to subpages, rows that go to dialogs, dropdowns, radio buttons, material buttons, side-nav, blue hyperlink text, and anything else I can't think of
- no i-beams, or pointers should be used for anything clickable

>> What else can we do to differentiate between plain text and content that opens more content?

There are other tools we can use to communicate where the user will go once clicking a link, but I urge us to at least do the above *first* so that we can properly test the intended design. 

Comment 4 by bettes@chromium.org, May 16 2016

Status: Available (was: Assigned)

Comment 5 by dbeam@chromium.org, May 17 2016

some would consider "hand cursors" as a hover effect, which is part of the miscommunication here

Comment 6 by dbeam@chromium.org, May 17 2016

Labels: -Pri-3 Pri-2
Labels: Hotlist-MD-Settings-General
Owner: bettes@chromium.org
Status: Assigned (was: Available)
Alan, can you help capture the places we *do* want hover?

The ones I know of are:
* Using the "pointer" cursor for all clickable links/buttons/etc (it's the one that looks like a hand with the pointer-finger extended [1])
* Showing a shadow when hovering over avatars in the edit page for "People (desktop)"
* Showing a gray background when hovering over items in a dropdown menu

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
Cc: rnimmagadda@chromium.org
 Issue 621369  has been merged into this issue.
Blocking: 614588 614589
Cc: bettes@chromium.org
Owner: dbeam@chromium.org
All clickable links/buttons/rows should show the "pointer" icon

Comment 12 by dbeam@chromium.org, Jun 21 2016

Status: Started (was: Assigned)

Comment 13 by dbeam@chromium.org, Jun 21 2016

 Issue 622088  has been merged into this issue.
Project Member

Comment 14 by bugdroid1@chromium.org, Jun 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65fef050ca882d64532c57ce7d7c27ad98f2016b

commit 65fef050ca882d64532c57ce7d7c27ad98f2016b
Author: blundell <blundell@chromium.org>
Date: Fri Jun 24 09:58:20 2016

Revert of MD Settings: make custom UIs look "actionable" (patchset #3 id:40001 of https://codereview.chromium.org/2094813002/ )

Reason for revert:
This CL causes SettingLanguagesBrowserTest.LanguagesPage to fail on ChromiumOS and Win7 (confirmed by building ChromeOS locally in Release, observing the failure, reverting the CL, and seeing that the failure goes away). Example failure: https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%281%29/builds/21718/steps/browser_tests%20on%20Ubuntu-12.04/logs/SettingsLanguagesPageBrowserTest.LanguagesPage.

Relevant snippet from test output:

[11504:11504:0624/023830:INFO:CONSOLE(1196)] "Running TestCase SettingsLanguagesPageBrowserTest.MAYBE_LanguagesPage", source: test_api.js (1196)
[11504:11504:0624/023830:ERROR:CONSOLE(44)] "Mocha test failed: languages page manage languages
AssertionError: expected false to be true
    at Function.assert.isTrue (chai.js:2423:31)
    at assertTrue (test_api.js:851:17)
    at Context.<anonymous> (languages_page_browsertest.js:81:7)
", source: mocha_adapter.js (44)

Original issue's description:
> MD Settings: make custom UIs look "actionable"
>
> Currently, that just entails a cursor: pointer; but may involve e.g. a
> :hover effect in the future.
>
> This introduces the shared variable:
>
>   --settings-actionable: {
>     cursor: pointer;
>   };
>
> which can be used from places that don't want all the settings shared
> style (which generally applies to the sections in the middle).
>
>   .my-custom-thing {
>     @apply(--settings-actionable);
>   }
>
> For stuff inside of <settings-main> (or code otherwise using
> settings-shared), it's probably easier to just use the new:
>
>   [actionable] {
>     @apply(--settings-actionable);
>   }
>
> and just annotate your element with that attribute, i.e.
>
>   <div id="frobber" on-tap="onFrobberTap_" actionable>
>
> FYI: This CL is semi-automatedly generated via:
>
>   vim -p `git grep -l on-tap -- chrome/browser/resources/settings`
>
> and lots of hacking.
>
> R=dpapad@chromium.org
> BUG= 611826 
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation
>
> Committed: https://crrev.com/a298aa9c3276b78073a61613787909a0b2427302
> Cr-Commit-Position: refs/heads/master@{#401763}

TBR=dpapad@chromium.org,dbeam@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 611826 

Review-Url: https://codereview.chromium.org/2089313005
Cr-Commit-Position: refs/heads/master@{#401843}

[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/about_page/about_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/appearance_page/appearance_fonts_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/appearance_page/appearance_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_list_item.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/default_browser_page/default_browser_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/device_page/device_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/device_page/keyboard.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/internet_page/network_proxy_exclusions.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/internet_page/network_summary_item.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/languages_page/languages_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/languages_page/languages_page.js
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/on_startup_page/startup_urls_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/people_page/people_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/people_page/sync_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/privacy_page/privacy_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/reset_page/reset_page.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/settings_main/settings_main.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/settings_menu/settings_menu.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/settings_root_css.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/settings_shared_css.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/site_settings/site_list.html
[modify] https://crrev.com/65fef050ca882d64532c57ce7d7c27ad98f2016b/chrome/browser/resources/settings/site_settings_page/site_settings_page.html

 Issue 623027  has been merged into this issue.
 Issue 622987  has been merged into this issue.
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ed68883804c25965c677a99278d1ab4c2d98af96

commit ed68883804c25965c677a99278d1ab4c2d98af96
Author: dbeam <dbeam@chromium.org>
Date: Sat Jun 25 01:33:15 2016

MD Settings: make custom UIs look "actionable"

Currently, that just entails a cursor: pointer; but may involve e.g. a
:hover effect in the future.

This introduces the shared variable:

  --settings-actionable: {
    cursor: pointer;
  };

which can be used from places that don't want all the settings shared
style (which generally applies to the sections in the middle).

  .my-custom-thing {
    @apply(--settings-actionable);
  }

For stuff inside of <settings-main> (or code otherwise using
settings-shared), it's probably easier to just use the new:

  [actionable] {
    @apply(--settings-actionable);
  }

and just annotate your element with that attribute, i.e.

  <div id="frobber" on-tap="onFrobberTap_" actionable>

FYI: This CL is semi-automatedly generated via:

  vim -p `git grep -l on-tap -- chrome/browser/resources/settings`

and lots of hacking.

R=dpapad@chromium.org
BUG= 611826 
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Committed: https://crrev.com/a298aa9c3276b78073a61613787909a0b2427302
Review-Url: https://codereview.chromium.org/2094813002
Cr-Original-Commit-Position: refs/heads/master@{#401763}
Cr-Commit-Position: refs/heads/master@{#402042}

[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/about_page/about_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/appearance_page/appearance_fonts_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/appearance_page/appearance_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_list_item.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/default_browser_page/default_browser_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/device_page/device_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/device_page/keyboard.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/internet_page/network_proxy_exclusions.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/internet_page/network_summary_item.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/languages_page/languages_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/languages_page/languages_page.js
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/on_startup_page/startup_urls_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/passwords_and_forms_page/autofill_section.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/passwords_and_forms_page/passwords_and_forms_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/people_page/people_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/people_page/sync_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/privacy_page/privacy_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/reset_page/reset_page.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/settings_main/settings_main.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/settings_menu/settings_menu.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/settings_root_css.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/settings_shared_css.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/site_settings/site_list.html
[modify] https://crrev.com/ed68883804c25965c677a99278d1ab4c2d98af96/chrome/browser/resources/settings/site_settings_page/site_settings_page.html

Found a button that does not display the correct mouse pointer, see screenshot.
spell_check_cursor.png
97.8 KB View Download

Comment 19 by dbeam@chromium.org, Jun 28 2016

dpapad@/#c18: I assume you mean the <paper-toggle>?

Comment 20 by dpapad@google.com, Jun 28 2016

Yes, I meant the <paper-toggle>. I included the mouse pointer in the screenshot to make it more obvious, but should have also mentioned it for clarity.

Comment 21 by dbeam@chromium.org, Jun 28 2016

i'ts not clear to me whether <paper-toggle> should have a cursor: pointer; but they do have an effect.  Polymer chose to keep the cursor the same for some reason.
If paper-toggle should not have a cursor, that is fine, but shouldn't we be consistent with other paper-toggle instances? In the screenshot above the toggles in the "Passwords and forms" section do show the hand cursor.
Is this the desired look on Chrome OS and Windows?

English (US) and Spanish can both be selected as the UI language, but Spanish (Spain) cannot. But it's weird having some languages blue and bold, as well as "Manage languages", but not others -- the effect seems to be opposite to what is desired (the non-actionable one stands out).
wrong languages.png
languages.png
19.6 KB View Download

Comment 25 by dbeam@chromium.org, Jun 29 2016

not sure if "desired", but I think the old UI is weirder than the current (new) UI you've posted as a screenshot, yes.

previously: all items were blue button-ish things (with an I-beam cursor) and clicking some worked and clicking some didn't.

now: UI supporting languages are blue (with hand cursors) and can be clicked, non-UI supporting languages are black and have no hand cursor

I generally think this UI (clicking something that looks like a link to change the UI language) is pretty bad anyways you apply it (on 50% or 100% of languages in that list; doesn't really matter).

I think we need Alan to look more at this.  I think having a ... menu with "Show Chrome in this language" makes more sense.

Comment 26 by dbeam@chromium.org, Jun 30 2016

Status: Fixed (was: Started)
i'm calling this fixed for now.  file specific bugs for addition issues
Fixed as of #17/53.0.2779?  (Asking so I wait for the proper version before assuming it's a bug)

Comment 28 by dbeam@chromium.org, Jun 30 2016

rdevlin.cronin: yes
 Issue 626701  has been merged into this issue.

Sign in to add a comment