<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:uix="http://projectmallard.org/experimental/ui/" type="topic" id="buttons" xml:lang="ru">

  <info>
    <credit type="author">
      <name>Алан Дэй (Allan Day)</name>
      <email>aday@gnome.org</email>
    </credit>
    <credit>
      <name>Калум Бенсон (Calum Benson)</name>
    </credit>
    <credit>
      <name>Адам Элман (Adam Elman)</name>
    </credit>
    <credit>
      <name>Сэт Никел (Seth Nickell)</name>
    </credit>
    <credit>
      <name>Колин Робертсон (Colin Robertson)</name>
    </credit>

    <link type="guide" xref="ui-elements"/>
    <uix:thumb mime="image/svg" src="figures/ui-elements/buttons.svg"/>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  </info>

<title>Кнопки</title>

<p>Кнопки — одни из самых распространённых элементов пользовательского интерфейса. Кнопки служат для выполнения действий, изменения параметров или областей просмотра, активируют инструменты, показывают диалоговые окна, всплывающие виджеты или другие элементы пользовательского интерфейса.</p>

<media type="image" mime="image/svg" src="figures/ui-elements/buttons.svg"/>

<section id="general-guidelines">
<title>Общие рекомендации</title>

<list>
<item><p>Кнопки могут содержать значки, другие кнопки или даже изображения. Если вы применяете значки, следуйте рекомендациям по использованию значков.</p></item>
<item><p>После нажатия кнопки пользователь ожидает увидеть результат своего действия в течение одной секунды.</p></item>
<item><p>В одном и том же окне все кнопки должны быть одной и той же ширины и высоты. Это обеспечит однородный внешний вид вашего интерфейса и сделает его проще в использовании.</p></item>
<item><p>Не назначайте действия, для выполнения которых требуется двойное нажатие или нажатие вспомогательной кнопки, поскольку их сложно выявлять и подобное поведение кнопок отличается от стандартного.</p></item>
<item><p>Если в интерфейсе есть кнопки, на которые не следует нажимать, то вместо того, чтобы показывать сообщения об ошибке при нажатии на такие кнопки, сделайте их нечувствительными.</p></item>
<item><p>Если несколько кнопок расположены рядом друг с другом, они должны быть одинаковые по высоте. Это особенно важно для пар <gui>Отмена</gui>, <gui>OK</gui>.</p></item>
<item><p>В диалоге одна из кнопок может быть назначена в качестве кнопки по умолчанию, которая активируется при нажатии на клавишу Enter. В кнопке по умолчанию должна использоваться отличная от остальных кнопок граница. Если нажатие на кнопку по умолчанию может привести к потере данных, не назначайте для окна кнопку по умолчанию.</p></item>
</list>

</section>

<section id="text-buttons">
<title>Текстовые кнопки</title>

<list>
<item><p>В качестве текстовой метки используйте глагол в повелительном наклонении. Например, <gui>Сохранить</gui>, <gui>Упорядочить</gui>. Для интерфейса на английском языке придерживайтесь <link xref="writing-style#capitalization">правила применения прописных букв</link>.</p></item>
<item><p>Используйте <link xref="writing-style#ellipses">многоточие</link>, если для завершения действия требуется дополнительный ввод от пользователя.</p></item>
<item><p>Применяйте <link xref="keyboard-input#access-keys">ускорители</link>, чтобы пользователь мог активировать кнопку с клавиатуры.</p></item>
<item><p>Метка должна быть короткой, чтобы кнопка не занимала слишком много места. Важно помнить, что длина метки изменяется после локализации.</p></item>
</list>

</section>

<section id="toggle-buttons">
<title>Кнопки-переключатели</title>

<p>Кнопки-переключатели выглядят как обычные кнопки, но вместо инициирования действия они применяются для изменения состояния. Кнопка-переключатель имеет два положения, включено (кнопка утоплена) и выключено (кнопка не утоплена).</p>

</section>

<section id="linked-buttons">
<title>Связанные кнопки</title>

<p>Кнопки со схожей функциональностью можно группировать. Связывание — это распространённая практика, используемая для наборов кнопок-переключателей.</p>

</section>

<section id="suggested-and-destructive">
<title>Предлагаемые и деструктивные действия</title>

<p>Если у кноки есть особенно важная утвердительная роль, ей можно назначить специальный стиль, который называется предполагаемым. Этот стиль выделяет кнопку и позволяет отличить её от остальных.</p>

<p>Кнопки, которые вызывают разрушительные последствия, например удаление объектов, можно оформить в специальном стиле, который называется деструктивным. Этот стиль подсвечивает кнопку и действует как предупреждение для пользователя.</p>

<p>В каждой области просмотра можно использовать только одну предложенную и только одну деструктивную кнопку.</p>

</section>

<section id="api-reference">
<title>API reference</title>

<list>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkButton.html">GtkButton</link></p></item>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkToggleButton.html">GtkToggleButton</link></p></item>
</list>

</section>

</page>
