Page MenuHomePhabricator

Why do we allow indicator-only buttons?
Open, LowPublic

Description

What is the purpose of an indicator-only button?
The differentiation between indicators and icons on its own is already in parts confusing, but to allow a button just carry an indicator without text seems to me to be offer an option too much.

Event Timeline

Volker_E created this task.Nov 4 2016, 11:06 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 4 2016, 11:06 PM

Do you see this being used somewhere? Or are you asking why the code allows this as a valid button?

I see that this is in the demo pages and am trying to figure out where it might be useful. Possibly as an error indicator in a form with more information on click? I don't think it is being used in this way anywhere.

Also, a non-framed-indicator-only button is tiny and hard to click.

Also, a non-framed-indicator-only button is tiny and hard to click.

@Prtksxna That's exactly where I'm coming from. I know that we feature several things on the demo pages to show the modularity of OOjs UI. But it could also backfire in the sense, that people take the demoed widgets as good practice. And I think it's – given it's small size – a very bad idea user experience wise. So I'd rather want to see it not featured or even better not possible if there's not a specific use case that I'm not aware of yet.

I agree. Let us see if it is being used in this form in anyway and if not, lets not allow creation of such buttons.

@matmarex @Esanders Any objections on great use cases of indicator-only buttons before going to action…?

The differentiation between indicators and icons on its own is already in parts confusing

Visually the difference is that icons show up on the left, and indicators on the right (for LTR). Indicators are also smaller. The semantic differences might be a bit vague.

Let us see if it is being used in this form in anyway and if not, lets not allow creation of such buttons.

There are some widgets that use the indicator only button.

CapsuleItemWidget
ComboBoxInputWidget

Change 340290 had a related patch set uploaded (by Prtksxna; owner: Prtksxna):
ButtonWidget: Deprecate indicator only buttons

https://gerrit.wikimedia.org/r/340290

Volker_E moved this task from Backlog to Next-up on the OOUI board.Feb 28 2017, 9:58 PM
Volker_E moved this task from Next-up to Doing on the OOUI board.Mar 30 2017, 11:09 PM
matmarex added a comment.EditedApr 3 2017, 7:39 PM

I think disallowing these is pointless. It costs us almost nothing to support ButtonWidget with only 'indicator': it mostly works naturally (same as a ButtonWidget with only 'label' or 'icon'), and the little customization that it needs is already implemented. And it costs us to disallow it, since we have to go through the deprecation and removal.

And it turned out that this is useful in practice; the proposed patched to replace such usages with something else (https://gerrit.wikimedia.org/r/#/c/340282/ https://gerrit.wikimedia.org/r/#/c/340289/ https://gerrit.wikimedia.org/r/#/c/341494/) both make the code more complicated than before, and not better. And there was a patch just submitted that makes use of this again (https://gerrit.wikimedia.org/r/#/c/346179/), and where redoing it differently would probably also make the code worse. We would probably find more such cases in the wild if we went through with the deprecation.

I really don't think we should do this.

It costs us almost nothing to support ButtonWidget with only 'indicator': it mostly works naturally (same as a ButtonWidget with only 'label' or 'icon'), and the little customization that it needs is already implemented. And it costs us to disallow it, since we have to go through the deprecation and removal.

I disagree. In the undergoing of fixing T161177 for buttons, I had to invest another three useless hours to address the indicator, icon & label combinations of framed and frameless buttons although they should for most parts behave similar.
As shared on the patch, it's especially a design implication driving the request. Why even feature a frameless indicator button that offers a 12x12px active area? That's far from any usability recommendation.

And it turned out that this is useful in practice; the proposed patched to replace such usages with something else (https://gerrit.wikimedia.org/r/#/c/340282/ https://gerrit.wikimedia.org/r/#/c/340289/) both make the code more complicated than before, and not better.

Agreed with the first patch, that can be done differently. What is more complicated in the second one?

It costs us almost nothing to support ButtonWidget with only 'indicator': it mostly works naturally (same as a ButtonWidget with only 'label' or 'icon'), and the little customization that it needs is already implemented. And it costs us to disallow it, since we have to go through the deprecation and removal.

I disagree. In the undergoing of fixing T161177 for buttons, I had to invest another three useless hours to address the indicator, icon & label combinations of framed and frameless buttons although they should for most parts behave similar.

Indicator-only is just one possible combination of these options out of seven? I don't think I understand your point here.

As shared on the patch, it's especially a design implication driving the request. Why even feature a frameless indicator button that offers a 12x12px active area? That's far from any usability recommendation.

Personally, I think the mistake is in allowing frameless buttons, not in indicator-only buttons ;)

And it turned out that this is useful in practice; the proposed patched to replace such usages with something else (https://gerrit.wikimedia.org/r/#/c/340282/ https://gerrit.wikimedia.org/r/#/c/340289/ https://gerrit.wikimedia.org/r/#/c/341494/) both make the code more complicated than before, and not better.

Agreed with the first patch, that can be done differently. What is more complicated in the second one?

After using an icon instead of the indicator, which is larger, we ended up rewriting a bunch of the CSS and creating a very different design (worse one IMO).

I think disallowing these is pointless. It costs us almost nothing to support ButtonWidget with only 'indicator': it mostly works naturally (same as a ButtonWidget with only 'label' or 'icon'), and the little customization that it needs is already implemented.

I agree, it costs us nothing to support it, but if it leads to bad UI we should remove it too.

And it costs us to disallow it, since we have to go through the deprecation and removal.

True, but we pay that cost whenever is needed.

And it turned out that this is useful in practice; the proposed patched to replace such usages with something else (https://gerrit.wikimedia.org/r/#/c/340282/ https://gerrit.wikimedia.org/r/#/c/340289/ https://gerrit.wikimedia.org/r/#/c/341494/) both make the code more complicated than before, and not better.

Yeah, the patches do complicate the code a little, but not so much more that it should block change. (we should surely make improvements to the patch where required)

And there was a patch just submitted that makes use of this again (https://gerrit.wikimedia.org/r/#/c/346179/), and where redoing it differently would probably also make the code worse. We would probably find more such cases in the wild if we went through with the deprecation.

This is exactly what we should avoid. That button could have used an icon instead of an indicator and been easier to use. If its making the code worse then we should figure out a way that it doesn't, and not let the UI suffer.

DLynch added a subscriber: DLynch.Apr 20 2017, 4:24 PM

Toolbars demo currently has this indicator-only button in use as well:

That said, I think it wound up being used entirely because it made the most compact button possible. Using icon: 'expand' and tweaking the CSS for that case would get something almost as small.

Change 340290 abandoned by Prtksxna:
ButtonWidget: Deprecate indicator only buttons

https://gerrit.wikimedia.org/r/340290

Volker_E triaged this task as Low priority.Jan 31 2018, 11:32 PM
Volker_E moved this task from Doing to Backlog on the OOUI board.Feb 2 2018, 1:56 AM
Restricted Application added a project: UI-Standardization. · View Herald TranscriptMay 20 2018, 4:16 AM

Change 479968 had a related patch set uploaded (by Bartosz Dziewoński; owner: VolkerE):
[oojs/ui@master] demos: Don't showcase 'indicator' only buttons explicitly

https://gerrit.wikimedia.org/r/479968

Change 479968 merged by jenkins-bot:
[oojs/ui@master] demos: Don't showcase 'indicator' only buttons explicitly

https://gerrit.wikimedia.org/r/479968

Change 481239 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[mediawiki/core@master] Update OOUI to v0.30.0

https://gerrit.wikimedia.org/r/481239

Change 481239 merged by jenkins-bot:
[mediawiki/core@master] Update OOUI to v0.30.0

https://gerrit.wikimedia.org/r/481239