Какие критерии я должен учитывать, разрешая пользователям вводить форматированный текст на моем веб-сайте?

Я работал с несколькими разными типами сайтов с "пользовательским контентом": вики, доски объявлений, блоги ... Эти системы могут сильно различаться: редактор сообщений в блоге позволяет лучше контролировать представление, чем для комментариев на сообщение в блоге, редактор тем вики поощряет ссылки на вики вместо необработанных URL-адресов и т. д.

Однако одно ключевое дизайнерское решение является общим для каждого: должен ли я предоставить пользователю упрощенный язык разметки, такой как Wikitext, Markdown или BBCode, заставляя пользователей изучать это, или я должен дать им редактор WYSIWYG, такой как CKEdit или TinyMCE, и фильтровать или преобразовать полученный HTML за кулисами?

Было время, когда я думал, что это простой вопрос определения моей целевой аудитории: технически ориентированные пользователи получают разметку, нетехнические - WYSIWYG. На практике это не сработало, случайные пользователи борются с разметкой, а редакторы WYSIWYG предоставляют в лучшем случае неплотную абстракцию для нижележащего HTML.

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

  • Какие факторы следует учитывать при принятии этого решения?
  • Стали ли простые системы разметки достаточно распространенными, чтобы я мог рассчитывать на то, что большинство пользователей хотя бы немного знакомы с ними?
  • ... Или мне следует отказаться от них как от пережитка прошлого и поработать над поиском способов сделать работу WYSIWYG более эффективной ...?

Я не собираюсь возвращаться и разрывать то, что я уже сделал. Хорошо это или плохо, но эти системы работают, их немногочисленные пользователи уже удобны или, по крайней мере, компетентны. Но было бы неплохо иметь более точные рекомендации при создании будущих дизайнов.


person Your Boss    schedule 31.12.2009    source источник
comment
Единственный фактор, о котором я могу думать, это то, действительно ли меня волнует, могут ли идиоты копировать и вставлять документы Word в текстовую форму? и вы, вероятно, единственный, кто может ответить на этот вопрос для себя.   -  person Azeem.Butt    schedule 31.12.2009
comment
@NSD: да, думаю, это было не так уж важно; просто вспоминая старые проблемы во время письма. Я снял его, спасибо.   -  person Your Boss    schedule 31.12.2009


Ответы (2)


Один подход, который, кажется, работает достаточно хорошо, - это использование Markdown, как это сделано здесь, на SO. Глупые и / или ленивые люди (приношу свои извинения всем, кто есть) могут просто бросить текст в поле; он выглядит беспорядочным, но в основном там и читается. Люди, которым небезразлично, как выглядит их текст, могут делать некоторые простые вещи, которые по большей части почти интуитивно понятны (например, оставлять пустые строки между абзацами, ставить звездочки или числа перед элементами списка), и это просто работает.

Этого достаточно для множества приложений и людей. Некоторые из более блестящих сайтов, такие как блоги Google, предоставляют вам выбор (можно изменить одним нажатием кнопки): редактировать необработанный HTML или использовать редактор WYSIWYG (который дает сбой достаточно часто, поэтому я обычно выбираю необработанный HTML). Теоретически вы могли бы даже дать своим пользователям 3 альтернативы, такие как Markdown, HTML и WYSIWYG; но в какой-то момент вы будете задаваться вопросом, зачем вы вообще беспокоились. Некоторые пользователи всегда будут бороться с некоторыми аспектами интерфейса и будут винить вас. Я верю в то, что нужно найти золотую середину и не беспокоиться о том, чтобы сделать всех счастливыми.

С моей точки зрения, наиболее важными являются соображения безопасности. Если вы разрешите необработанный HTML, ваши пользователи могут вставлять спам и вредоносные программы и в основном использовать ваш сайт для своих целей; поэтому вы должны тщательно ограничивать то, что разрешено. Еще одно соображение заключается в том, что если вы позволите, например Заголовки H1, люди могут занять много места и внимания постами, которые действительно должны быть второстепенными. Если вы разрешаете CSS (включая атрибуты style в тегах HTML), то опять же есть способы испортить ваш «реальный» контент. Еще одна большая проблема связана с незакрытыми или несогласованными тегами. Это действительно серьезные проблемы, и вы хотите ошибиться в сторону строгости, чтобы избежать более серьезных проблем.

person Carl Smotricz    schedule 31.12.2009
comment
Идея дуэли-редактора мне нравится, но мне кажется, что решение перекладывается на пользователей, которые, возможно, не оснащены для этого. Я знаю, что для редактора Google Blogs я обычно делал то же самое, что и вы - использовал необработанный HTML просто потому, что редактор WYSIWYG не смог разрешить то, что мне было нужно; Интересно, не было бы больше улучшений, если бы не было запасного варианта. Тем не менее, хороший ответ, особенно в отношении безопасности и необработанного HTML - спасибо! - person Your Boss; 31.12.2009
comment
Здесь я бы снова сделал более простой вариант по умолчанию, так как ваши более простые пользователи не обратят внимания на альтернативу. Видите ли, проблема устраняется автоматически :) - person Carl Smotricz; 31.12.2009

«Какие факторы я должен учитывать при принятии этого решения?» Чего хотят ваши клиенты? Разве у вас не может быть «резервной» системы, в которой можно использовать «упрощенный» WYSIWYG до тех пор, пока им не потребуются дополнительные функции необработанной разметки? Какие вещи наиболее часто используют пользователи? Какие функции используются реже, но когда они необходимы, без них не могут жить ваши клиенты?

«Неужели простые системы разметки стали достаточно обычным явлением, чтобы я мог рассчитывать на то, что большинство пользователей хоть немного знакомы с ними?» Я думаю, что для людей, использующих вики-сайты и блоги, да. Даже комментаторы в блогах до некоторой степени относятся к простейшим вещам, но опять же, я думаю, вы должны позволить им делать разметку в строке, если они могут (или какой-то общий поднабор разметки), и иметь возможность большей мощности, если им это нужно.

«... Или мне следует отказаться от них как от пережитка прошлого и поработать над поиском способов сделать работу WYSIWYG более эффективной ...?» Я бы не стал браться за все сразу. Работайте от твердого ядра функциональности и развивайтесь до полной системы.

person Ichorus    schedule 31.12.2009