CSS Menu Generator — программа для создания меню для блога

Иванова НатальяОбновлено: 11 февраля 2021Опубликовано

   Как сгенерировать горизонтальное меню, вертикальное или выпадающее меню на CSS. Такое меню хорошо индексируется поисковиками, мало весит и исправно работает. Кроме того, отлично встраивается и работает на blogspot. Я уже приводила примеры и коды таких меню для блога. Однако, если вы совсем не понимаете в кодах, а это необходимо хотя бы для того, чтобы заменить цвета и поставить свои ссылки в код или просто не любите “ковыряться в кодах”, то этого CSS генератор CSS Menu Generator специально для вас. Вы можете скачать программу здесь >>>. Размер exe файла равен 500 kB.
Интерфейс программы CSS Menu Generator:

  1. Начинаем работу с первой вкладки Menu Item. Здесь добавляем пункты нашего меню, даем им названия (Item) и указываем ссылки (links). Для этого вначале нажмите на кнопкуNew Затем заполните поля:

    Для того, чтобы редактировать страницу выберите нужный пункт и нажмите на кнопку Edit (редактировать).
  2. Теперь переходите на одну из вкладок CSS Menu Generator:
    • Horizontal menu (горизонтальное меню),
    • Vertikal menu (вертикальное меню),
    • или Combo-box menu (выпадающее меню).

    в зависимости от того, какой вид меню вам нужен.
    Рассмотрим на примере создания горизонтального меню. Выбираем соответствующую вкладку и выставляем нужные настройки меню:

    • background – фон, цвет кнопок меню,
    • text color – цвет текста,
    • active background – цвет фона выбранного (активного) пункта меню,
    • active text color – цвет текста активного пункта меню.
    • border color – цвет рамки,
    • separator color – цвет разделительных линий кнопок.
    • selected item – активный по умолчанию пункт меню.
    • font-family – шрифт,
    • font-style – стиль шрифта,
    • font-weight – толщина шрифта,
    • top, left, bottom, right – сверху, слева, снизу и справа соответственно означают сколько пикселей толщина линии рамки.

    Если пункты меню вы писали на русском языке, то в превью названия пунктов вашего меню будут выглядеть некорректно:

    Вы можете ничего не исправлять, так как после того, как вы вставите в шаблон блога сгенерированный в CSS menu generator код меню, оно будет отображаться на blogspot нормально.

  3. Получение кода CSS меню во вкладке HTML/CSS код

  • Копируйте CSS код из верхнего окошка (выделено оранжевым цветом). Для того, чтобы скопировать код нажмите кнопку “Copy to clipboard”. Его нужно вставить в шаблон блога между тегами <head> и </head>. Переходите в html редактор шаблона, воспользовавшись поиском по странице (горячие клавиши Ctrl + F), найдите отрезок кода </head> и  вставьте перед ним css код меню для блога.
  • Копируйте html код меню для блога (выделено желтым цветом), в блоге перейдите во вкладку “Дизайн” и вставьте код меню в виджет HTML/JavaScript в нужное место страницы.
Posted in ПрограммыПомеченные soft

Опубликовано Иванова Наталья

Смотреть все записи от Иванова Наталья

Пример кнопки меню навигации | ПНГ | WAI

Пример кнопки меню навигации

Код в этом примере не предназначен для производственных сред. Прежде чем использовать его для каких-либо целей, прочитайте это, чтобы понять, почему.

Это наглядный пример одного из способов использования ARIA, соответствующего спецификации ARIA.

  • В некоторых случаях могут быть пробелы в поддержке. комбинации браузера и вспомогательных технологий, особенно для мобильные/сенсорные устройства. Тестирование кода, основанного на этом примере, со вспомогательными технологиями необходимо, прежде чем рассматривать возможность использования в производственных системах.
  • Проект ARIA и Assistive Technologies разрабатывает измерения поддержки вспомогательных технологий для примеров APG.
  • Надежная доступность может быть дополнительно оптимизирована путем выбора шаблонов реализации, максимально использующих семантический HTML, и принимая во внимание предупреждение о том, что Нет ARIA лучше, чем Bad ARIA.

Об этом примере

В этом примере демонстрируется шаблон кнопки меню для кнопки, отображающей меню целевых ссылок. Элементы меню создаются из ссылок HTML, поэтому они сохраняют свое поведение ссылок HTML. То есть активация элемента меню загружает цель ссылки, а контекстное меню ссылки браузера и связанные с ним действия становятся доступными.

В этой реализации элемент HTML button показывает структуру меню, созданную с помощью элемента HTML

ul . Роль menuitem находится в элементе HTML a , содержащемся в каждом элементе li , поэтому поведение ссылки доступно, когда фокус установлен на элементе меню. Другая причина применения роли menuitem к элементу a вместо элемента li заключается в том, что семантика потомков 9Элементы 0019 menuitem не отображаются в дереве специальных возможностей. То есть пункт в меню может быть только пунктом меню , поскольку API специальных возможностей не позволяют вспомогательным технологиям отображать элементы, содержащиеся внутри пункта меню. Более подробное описание этого ограничения см. Роли, которые автоматически скрывают семантику, делая своих потомков презентативными.

Аналогичные примеры включают:

  • Пример кнопки меню действий с использованием element.focus(): Кнопка, которая открывает меню действий или команд, где управление фокусом в меню осуществляется с помощью element.focus() .
  • Пример кнопки меню действий с использованием aria-activedescendant: кнопка, которая открывает меню действий или команд, где фокус в меню управляется с помощью aria-activedescendant.

Специальные возможности

  1. Значок со стрелкой вниз помогает пользователям понять, что кнопка открывает меню.
  2. Для поддержки настроек высокой контрастности операционной системы:
    • Поскольку прозрачные границы видны в некоторых системах с включенными параметрами высокой контрастности операционной системы, прозрачность нельзя использовать для создания визуального различия между элементом, на котором находится фокус, и другими элементами. Вместо использования прозрачности сфокусированный элемент имеет более толстую границу и меньше отступов. Когда элемент получает фокус, его граница изменяется с 1 на 3 пикселя, а отступы уменьшаются на 2 пикселя. Когда элемент теряет фокус, его граница изменяется с 3 пикселей на 1, а отступ увеличивается на 2 пикселя.
    • Поскольку стили цвета фона и цвета текста могут быть переопределены настройками высокой контрастности операционной системы, граница используется для обеспечения видимой границы кнопки при включенном режиме высокой контрастности.
    • Чтобы значки со стрелками, используемые для обозначения развернутого или свернутого состояния, имели достаточный контраст с фоном, когда настройки высокой контрастности инвертируют цвета, значение CSS currentcolor для заливки и штрих свойства полигона SVG элемент используется для синхронизации цвета с текстовым содержимым. Если для указания свойств fill и stroke используются определенные цвета, эти цвета останутся теми же в режиме высокой контрастности, что может привести к недостаточному контрасту между значком и фоном или даже сделать значок невидимым, если его цвет совпадает. фон режима высокой контрастности.

Подставка для клавиатуры

Кнопка меню

Ключ Функция
Стрелка вниз
Пробел
Введите
Открывает меню и перемещает фокус на первый пункт меню
Стрелка вверх Открывает меню и перемещает фокус на последний пункт меню

Меню

Ключ Функция
Пробел
Введите
Активирует пункт меню, что эквивалентно активации элемента ссылки, из которого сделан пункт меню.
Побег
  • Закрывает меню.
  • Устанавливает фокус на кнопку меню.
Стрелка вверх
  • Перемещает фокус на предыдущий пункт меню.
  • Если фокус находится на первом элементе меню, перемещает фокус на последний элемент меню.
Стрелка вниз
  • Перемещает фокус на следующий пункт меню.
  • Если фокус находится на последнем элементе меню, перемещает фокус на первый элемент меню.
Дом Перемещает фокус на первый пункт меню.
Конец Перемещает фокус на последний элемент меню.
А-Я
А-Я
  • Перемещает фокус на следующий элемент меню с меткой, начинающейся с введенного символа, если такой элемент меню существует.
  • В противном случае фокус не перемещается.

Роль, свойство, состояние и атрибуты Tabindex

Кнопка меню

Роль Атрибут Элемент Применение
ария-haspopup="true" кнопка
  • Указывает, что кнопка открывает меню.
  • ПРИМЕЧАНИЕ. Хотя ARIA не включает роль специально для кнопок меню, большинство API специальных возможностей платформы включают роль кнопки меню. Следовательно, на таких платформах вспомогательные технологии, такие как программы для чтения с экрана, идентифицируют кнопки, имеющие aria-haspopup устанавливается либо на true , либо на меню в качестве кнопок меню.
ария-элементы управления = "IDREF" кнопка
  • Относится к элементу меню, управляемому кнопкой меню.
  • Необязательный атрибут: пользователи вспомогательных технологий могут работать с меню, если оно отсутствует.
расширенная ария = "истина" кнопка
  • Добавлено при открытом меню.
  • Указывает, что меню отображается и что нажатие кнопки меню закрывает меню.
  • Атрибут aria-expanded удаляется при закрытии меню.
  • Включено для поддержки сенсорных устройств, на которых пользователи программ чтения с экрана могут коснуться кнопки меню при отображении меню. Пользователи клавиатуры не могут сфокусировать кнопку меню, когда меню открыто.
Примечание

Метка кнопки предоставляется текстовым содержимым элемента button .

Меню

Роль Атрибут Элемент Применение
меню ул Идентифицирует элемент ul как меню .
aria-labeledby="IDREF" ул
  • Относится к элементу, который содержит доступное имя для меню .
  • Меню обозначено кнопкой меню.
нет ли
  • Скрывает подразумеваемую роль listitem элемента li от вспомогательных технологий.
  • Дополнительные сведения см. в разделе Скрытие семантики с помощью роли презентации .
пункт меню и
  • Идентифицирует элемент как пункт меню .
  • Текстовое содержимое элемента a обеспечивает доступное имя пункта меню .
tabindex="-1" и удаляет элемент a из последовательности вкладок страницы, но сохраняет его фокусируемым с помощью JavaScript.

Исходный код Javascript и CSS

  • CSS: меню-кнопка-ссылки.css
  • Javascript: кнопка меню-ссылки.js

Исходный код HTML

 Пример кнопки меню действий

с использованием element.focus() | ПНГ | ВАИ

Пример кнопки меню действий с использованием element.focus()

Код в этом примере не предназначен для производственных сред. Прежде чем использовать его для каких-либо целей, прочитайте это, чтобы понять, почему.

Это наглядный пример одного из способов использования ARIA, соответствующего спецификации ARIA.

  • В некоторых случаях могут быть пробелы в поддержке. комбинации браузера и вспомогательных технологий, особенно для мобильные/сенсорные устройства. Тестирование кода, основанного на этом примере, со вспомогательными технологиями необходимо, прежде чем рассматривать возможность использования в производственных системах.
  • Проект ARIA и Assistive Technologies разрабатывает измерения поддержки вспомогательных технологий для примеров APG.
  • Надежная доступность может быть дополнительно оптимизирована путем выбора шаблонов реализации, максимально использующих семантический HTML, и принимая во внимание предупреждение о том, что Нет ARIA лучше, чем Bad ARIA.

Об этом примере

В этом примере показано, как шаблон кнопки меню можно использовать для создания кнопки, открывающей меню действий. В этом примере выбор действия из меню приведет к тому, что выбранное действие будет отображаться в Последнее действие Поле редактирования.

В этой реализации каждый элемент в меню становится доступным для фокуса путем установки tabindex="-1" , чтобы JavaScript мог использовать element.focus() для установки фокуса в ответ на события, вызывающие перемещение фокуса внутри меню. Альтернативный метод управления перемещением фокуса между пунктами меню демонстрируется в примере с кнопкой меню действия, в котором используется aria-activedescendant.

Аналогичные примеры включают:

  • Пример кнопки меню действий с использованием aria-activedescendant: кнопка, которая открывает меню действий или команд, где фокус в меню управляется с помощью aria-activedescendant.
  • Кнопка меню навигации: кнопка, которая открывает меню с элементами, действующими как ссылки.

Последнее действие:

Специальные возможности

  1. Значок со стрелкой вниз помогает пользователям понять, что кнопка открывает меню.
  2. Для поддержки настроек высокой контрастности операционной системы:
    • Поскольку прозрачные границы видны в некоторых системах с включенными параметрами высокой контрастности операционной системы, прозрачность нельзя использовать для создания визуального различия между элементом, на котором находится фокус, и другими элементами. Вместо использования прозрачности сфокусированный элемент имеет более толстую границу и меньше отступов. Когда элемент получает фокус, его граница изменяется с 1 на 3 пикселя, а отступы уменьшаются на 2 пикселя. Когда элемент теряет фокус, его граница изменяется с 3 пикселей на 1, а отступ увеличивается на 2 пикселя.
    • Поскольку стили цвета фона и цвета текста могут быть переопределены настройками высокой контрастности операционной системы, граница используется для обеспечения видимой границы кнопки при включенном режиме высокой контрастности.
    • Чтобы значки со стрелками, используемые для обозначения развернутого или свернутого состояния, имели достаточный контраст с фоном, когда настройки высокой контрастности инвертируют цвета, значение CSS currentcolor для заливки и штрих свойства полигона SVG элемент используется для синхронизации цвета с текстовым содержимым. Если для указания свойств fill и stroke используются определенные цвета, эти цвета останутся теми же в режиме высокой контрастности, что может привести к недостаточному контрасту между значком и фоном или даже сделать значок невидимым, если его цвет совпадает. фон режима высокой контрастности.

Подставка для клавиатуры

Кнопка меню

Ключ Функция
Стрелка вниз
Пробел
Введите
Открывает меню и перемещает фокус на первый пункт меню
Стрелка вверх Открывает меню и перемещает фокус на последний пункт меню

Меню

Ключ Функция
Введите
  • Активирует пункт меню, вызывая обновление текстового поля Last Action .
  • Закрывает меню.
  • Устанавливает фокус на кнопку меню.
Побег
  • Закрывает меню.
  • Устанавливает фокус на кнопку меню.
Стрелка вверх
  • Перемещает фокус на предыдущий пункт меню.
  • Если фокус находится на первом элементе меню, перемещает фокус на последний элемент меню.
Стрелка вниз
  • Перемещает фокус на следующий пункт меню.
  • Если фокус находится на последнем элементе меню, перемещает фокус на первый элемент меню.
Дом Перемещает фокус на первый пункт меню.
Конец Перемещает фокус на последний элемент меню.
А-Я
А-Я
  • Перемещает фокус на следующий элемент меню с меткой, начинающейся с введенного символа, если такой элемент меню существует.
  • В противном случае фокус не перемещается.

Роль, свойство, состояние и атрибуты Tabindex

Кнопка меню

Роль Атрибут Элемент Применение
ария-haspopup="true" кнопка
  • Указывает, что элемент button открывает меню.
  • ПРИМЕЧАНИЕ. Хотя ARIA не включает роль специально для кнопок меню, большинство API специальных возможностей платформы включают роль кнопки меню. Следовательно, на таких платформах вспомогательные технологии, такие как программы для чтения с экрана, идентифицируют кнопки, у которых aria-haspopup имеет значение либо true , либо меню , как кнопки меню.
ария-элементы управления = "IDREF" кнопка
  • Относится к элементу меню, управляемому кнопкой меню.
  • Необязательный атрибут: пользователи вспомогательных технологий могут работать с меню, если оно отсутствует.
расширенная ария = "истина" кнопка
  • Добавлено при открытом меню.
  • Указывает, что меню отображается и что нажатие кнопки меню закрывает меню.
  • Атрибут aria-expanded удаляется при закрытии меню.
  • Включено для поддержки сенсорных устройств, на которых пользователи программ чтения с экрана могут коснуться кнопки меню при отображении меню. Пользователи клавиатуры не могут сфокусировать кнопку меню, когда меню открыто.

Меню

Роль Атрибут Элемент Применение
меню ул Обозначает ul как меню .
aria-labeledby="IDREF" ул
  • Относится к элементу, который содержит доступное имя для меню .
  • Меню обозначено кнопкой меню.
пункт меню ли
  • Идентифицирует элемент li как элемент меню .
  • Текстовое содержимое элемента li обеспечивает доступное имя пункта меню .
tabindex="-1" ли