Пять критериев универсального принятия: «Отображение»
Универсальное принятие — состояние, когда все интернет-ориентированные приложения, устройства и системы правильно и единообразно принимают, проверяют, хранят, обрабатывают и отображают все корректные доменные имена и адреса электронной почты.
Существует 5 критериев реализации универсального принятия в программном обеспечении. В серии статей мы разберем каждый из них. В этой статье расскажем о критерии «Отображение». Читать другие статьи из цикла:
→ Критерий принятия
→ Критерий проверки
→ Критерий хранения
→ Критерий обработки
Что означает критерий «Отображение»
Отображение — это процесс, когда ПО отображает доменные имена и адреса электронной почты, в том числе IDN и EAI.
Отображение происходит всякий раз, когда адрес электронной почты или доменное имя обрабатывается и отображается в графическом интерфейсе ПО. С отображением доменных имен и адресов электронной почты обычно не бывает проблем, если используемые алфавиты поддерживаются ОС. А также когда строки хранятся в Unicode. В других случаях могут потребоваться преобразования, которые будут зависеть от реализации конкретного ПО.
Рекомендации по отображению доменных имен
Отображайте Unicode по умолчанию. Перед отображением выполняйте преобразование доменных имен IDN из А-меток в U-метки. Например, конечный пользователь должен увидеть строку «пример.рф», а не строку xn--e1afmkfd.xn--p1ai.
Кроме того, убедитесь, что в ПО используется шрифт, который правильно отображает все символы Unicode на всех ОС в любой локализации без исключения.
Доменное имя должно отображаться в графическом интерфейсе ПО в виде U-метки. Оно также может отображаться в виде А-метки, но только в том случае, когда A-метка идет в дополнение к соответствующему доменному имени в виде U-метки.
Используйте текст в кодировке Punycode только тогда, когда это имеет смысл. Отображать Punycode нужно в том случае, если это является целевой задачей ПО. И в этом случае его можно дополнить, например, всплывающей подсказкой с U-меткой.
Принимайте во внимание поддерживаемые языки при разработке ПО. Это значит, что ОС и ПО должны быть способны работать с разными языковыми версиями и обеспечивать пользователям удобство использования продукта на их родном языке.
Учитывайте, что возможно использование доменных имен с метками на разных скриптах Юникода. Это значит, что доменные имена второго и ниже уровней, метки которых содержат символы разных алфавитов, например кириллицы на втором уровне и латиницы на верхнем уровне (пример.com), должны корректно отображаться в ПО.
Смешение символов разных алфавитов в одной метке доменного имени не рекомендуется и допускается в исключительных случаях.
Лучшей практикой считается отображение таких доменных имен в U-метке с дополнением в виде A-метки, реже только в А-метке. Дополнительную информацию читайте в документе Unicode.
Убедитесь, что используется актуальный стандарт IDNA. А также будьте в курсе неназначенных и запрещенных символов. Все дело в том, что отображаемые доменные имена IDN должны соответствовать стандарту IDNA2008 и не использовать устаревший стандарт IDNA2003. Больше информации об этом — в документе Unicode и в RFC 5892.
Рекомендации по отображению адресов электронной почты
Для доменной части адреса электронной почты должны соблюдаться все рекомендации для доменных имен (см. выше). А для локальной части есть дополнительные рекомендации:
- Локальная часть адреса электронной почты всегда должна отображаться в кодировке Unicode.
- При отображении ошибок в адресе электронной почты рекомендуется выделять локальную часть, если ошибка в ней, или соответствующую метку доменного имени, если ошибка в доменной части.
Как проводить тестирование критерия «Отображение»
Тестирование состоит из нескольких этапов проверки:
- проверки поддержки Unicode;
- проверки отображения доменных имен;
- проверки отображения адресов электронной почты;
- проверки обработки ошибок.
ПО удовлетворяет требованиям универсального принятия, если все его значимые функциональные элементы успешно проходят необходимые тесты:
- Тест поддержки Unicode. Символы Unicode в доменных именах и адресах электронной почты должны корректно отображаться в графическом интерфейсе ПО. Должны использоваться шрифты, поддерживающие все необходимые символы Unicode.
- Тест отображения доменных имен и адресов электронной почты. Доменные имена должны корректно отображаться в графическом интерфейсе ПО в виде U-метки. Доменные имена в виде А-метки должны отображаться в дополнение к соответствующему доменному имени в виде U-метки.
Локальная часть адреса электронной почты должна отображаться в Unicode. Для доменной части адреса электронной почты должны соблюдаться все рекомендации для доменных имен. - Тест на обработку ошибок. Локальная часть адреса электронной почты корректно выделяется при отображении ошибок в ней. Соответствующая метка доменного имени корректно выделяется при отображении ошибок в доменной части адреса электронной почты.
- Тест на различных устройствах и браузерах. Все доменные имена и адреса электронной почты должны корректно отображаться на всех тестируемых устройствах и браузерах.
- Тест отображения специальных символов. Специальные символы, содержащиеся в доменном имени и/или адресе электронной почты, должны корректно отображаться в графическом интерфейсе ПО.
- Тест с использованием различных кодировок. ПО должно обрабатывать и корректно отображать идентификаторы (доменные имена и адреса электронной почты) независимо от используемой кодировки.
- Тест отображения меток доменного имени на разных скриптах. Доменные имена с использованием символов разных алфавитов должны корректно отображаться в графическом интерфейсе ПО. Смешение символов разных алфавитов в одной метке доменного имени не рекомендуется и допускается в исключительных случаях.
Такое ПО считается полностью готовым к универсальному принятию в части реализации критерия «Отображение».