<table><tr><td style="">ndavis added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24706">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D24706#562666" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D24706#562666</a>, <a href="https://phabricator.kde.org/p/ngraham/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@ngraham</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D24706#553074" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D24706#553074</a>, <a href="https://phabricator.kde.org/p/ngraham/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@ngraham</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>I do like how obvious it makes the selected button, but by doing this, it visually overwhelms and destroys the concept of the default button (which is supposed to be the most visually distinctive button). IMO it also interferes with the the checked and hover states IMO. For example, hovering over a focused button right now inverts its text color, which I don't like at all.</p></div>
</blockquote>

<p>Any comment on the above?</p>

<p>I think we can change the background color on hover, but for focus, IMO we should try playing with outlines and see if we can make it work. When the background changes based on hover, focus, and also default button status, it's just too much, and it becomes hard to tell what's what IMO.</p></div>
</blockquote>

<p>How is it for you compared to the git master focus decorations? I know it's not what you're asking, but I'd like to know.</p>

<p>I'm having a hard time letting go of what I wanted, but I know it has flaws. I've been exploring my options for making the complete experience of using buttons in Plasma more predictable, logical, accessible and attractive.</p>

<p>Things I've discovered about default buttons:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">The default button stops being the default button if you focus a pushbutton or combobox. In that case, nothing happens when you press <kbd style="display: inline-block; min-width: 1em; padding: 4px 5px 5px; font-weight: normal; font-size: 0.8rem; text-align: center; text-decoration: none; line-height: 0.6rem; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(71, 87, 120, 0.08); user-select: none; background: #f7f7f7; border: 1px solid #C7CCD9;">Enter</kbd>. It may be unrelated to the Breeze QStyle, but I think this should change so that the default button is always activated when <kbd style="display: inline-block; min-width: 1em; padding: 4px 5px 5px; font-weight: normal; font-size: 0.8rem; text-align: center; text-decoration: none; line-height: 0.6rem; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(71, 87, 120, 0.08); user-select: none; background: #f7f7f7; border: 1px solid #C7CCD9;">Enter</kbd> is pressed.</li>
<li class="remarkup-list-item">GNOME's idea of a default button is effectively just the button which is focused by default.</li>
</ul>

<p>On one hand, there's no way to tell that <kbd style="display: inline-block; min-width: 1em; padding: 4px 5px 5px; font-weight: normal; font-size: 0.8rem; text-align: center; text-decoration: none; line-height: 0.6rem; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(71, 87, 120, 0.08); user-select: none; background: #f7f7f7; border: 1px solid #C7CCD9;">Enter</kbd> and <kbd style="display: inline-block; min-width: 1em; padding: 4px 5px 5px; font-weight: normal; font-size: 0.8rem; text-align: center; text-decoration: none; line-height: 0.6rem; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(71, 87, 120, 0.08); user-select: none; background: #f7f7f7; border: 1px solid #C7CCD9;">Space</kbd> trigger different actions, partly based on what is focused in Qt applications.<br />
On the other hand, knowing that you can press <kbd style="display: inline-block; min-width: 1em; padding: 4px 5px 5px; font-weight: normal; font-size: 0.8rem; text-align: center; text-decoration: none; line-height: 0.6rem; border-radius: 3px; box-shadow: inset 0 -1px 0 rgba(71, 87, 120, 0.08); user-select: none; background: #f7f7f7; border: 1px solid #C7CCD9;">Enter</kbd> to accept changes in a settings window without tabbing to the OK button (unless you focus a pushbutton or combobox) makes using settings windows a lot faster.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">GNOME's behavior would work perfectly with what I wanted and eliminate the need to come up with a better default button indicator</li>
<li class="remarkup-list-item">I think what we have is better in the long run for keyboard focused users if we can get it to work more consistently.</li>
</ul>

<p>My primary objections to only using an outline to indicate focus on buttons are these:</p>

<ol class="remarkup-list">
<li class="remarkup-list-item">We don't normally do lines thicker than 1px</li>
<li class="remarkup-list-item">A 1px focus outline could be a bit too thin if it doesn't contrast well enough with the background colors</li>
</ol>

<p>A purely technical obstacle in the way of using just an outline is that the background still changes on focus even if the code for changing the background on focus is removed. I have no idea why this happens. Using the design I wanted and the git master design just masks the problem.</p>

<p>We do use thicker lines in some cases.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">The Plasmashell tabs and Task Manager focus lines are 3px</li>
<li class="remarkup-list-item">the outlines around grid view items in SySe are 4px</li>
</ul>

<p>Perhaps if we have a very limited set of line thicknesses it won't introduce more inconsistency, but anything larger than 2px looks really excessive and out of place for buttons.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R31 Breeze</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24706">https://phabricator.kde.org/D24706</a></div></div><br /><div><strong>To: </strong>ndavis, VDG, Breeze<br /><strong>Cc: </strong>bodoeggert, ngraham, plasma-devel, LeGast00n, The-Feren-OS-Dev, cblack, konkinartem, ian, jguidon, hannahk, Ghost6, jraleigh, MrPepe, fbampaloukas, squeakypancakes, alexde, IohannesPetros, GB_2, trickyricky26, ragreen, mglb, crozbo, ndavis, ZrenBot, firef, alexeymin, skadinna, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, aaronhoneycutt, abetts, sebas, apol, ahiemstra, mbohlender, mart<br /></div>