Семантические ссылки на фрагменты кода

Вопрос

Какой самый легкий, семантический и в целом лучший способ ссылки на фрагменты кода в XHTML 1.1?


Требовать

Фрагменты кода в HTML не являются семантически правильными. Фрагменты (в идеале) должны быть только ссылочными или связанными (с использованием <object>, <a> и т. д.), а не встроенными, экранированными и оформленными полностью.


Обоснование

  • Let browsers render code snippets
    • Having many custom server-side implementations tells me it should be standardized
    • Browsers can have plug-ins for copy+paste, download, etc.
      • Seems to me this is where it belongs (not in Javascript)
  • Why not use <code>
    • Escaped code is ugly
    • Мы визуализируем его для клиента
    • Нет семантического представления самого языка (хорошо бы тип MIME)
  • Javascript is functionality, not presentation.
    • Syntax needs to be portable (i.e. no proprietary functionality)
    • Нет необходимости в готовых решениях

Иллюстрация

Resource      Tag    Actual resource              Alternative format
Image         img    An image located on server   `alt` attribute
Source code   ?      A file containing code       `code` tag? `a` link?

Пример решения

code_sample.php находится в том же каталоге, что и HTML-страница, содержащая следующее:

<a href="code_sample.php" type="text/x-php">
  Example of widget creation
</a>
  • Pros
    • Semantically uses title to describe the source code being referenced
    • Ухудшение качества: несовместимые браузеры отображают ссылку на соответствующий контент.
    • Also, LinkType seems like a potentially good attribute for specifying "Code Snippet"
  • Cons
    • Not semantic enough? Seems wrong to replace hyperlinks with source code for presentation
    • <object> может быть и лучше, но хуже не будет.

Какой самый простой, семантический и в целом лучший способ ссылки на фрагменты кода в XHTML 1.1?


person Tim    schedule 01.01.2011    source источник
comment
Вы хотите, чтобы фрагменты кода были включены в страницу или содержали ссылки? В заголовке указано ссылка, а в вопросе указано представление фрагментов кода.   -  person Phrogz    schedule 02.01.2011
comment
Ну... связаны, но не обязательно с использованием <a>. Хороший улов, хотя, обновленный. Спасибо!   -  person Tim    schedule 02.01.2011


Ответы (1)


Не соответствующие стандартам, у людей, которые работают в Microsoft, будет припадок. Предполагается, что XHTML совместим.

Кроме того... люди создают специальные атрибуты для jquery IE стиля программирования jQuery? var ajaxbox = $(Элемент).attr('toajaxbox');

Исправление:

Он соответствует стандартам http://xhtml.com/en/xhtml/reference/a/< /а>

person Wayne    schedule 01.01.2011
comment
Не соответствует стандартам? Как же так? Я добавлю свой пост, чтобы добавить причины не использовать JS. - person Tim; 02.01.2011
comment
Мы еще не доказали, что он соответствует стандартам. Стандарты говорят нам как использовать эти теги в дополнение к определению схемы. Это семантическая часть, и я до сих пор не уверен, что <a> здесь правильный элемент. Еще есть шанс доказать, что этот пример неверен! :) - person Tim; 02.01.2011
comment
Тим, тип является допустимым атрибутом для xhtml.com с описанием, являющимся подсказкой для веб-браузеров относительно типа ресурса, указанного href. ... toajaxbox отсутствует в их списке - person Wayne; 02.01.2011
comment
Мы не подключаем флеш-файлы с помощью <a>, мы используем <object>. Итак, вопрос в том, какой тег лучше всего подходит для сниппетов? Являются ли они объектами? Ссылки на ресурсы, которые браузер может извлекать и отображать? Или что? - person Tim; 02.01.2011
comment
Я предполагаю, что вам нужна функциональность тега привязки. 1› для ссылки на другой документ или 2› для ссылки на другой тег привязки. Тег объекта предназначен для встроенных объектов (без их форматирования), а тип определяет указанный тип данных MIME, а не «подсказку», а конкретные данные MIMI, которые будут загружены с сервера и представлены механизму рендеринга для этого типа данных. . - person Wayne; 02.01.2011
comment
Верно, но учтите, что элемент <object> должен быть для изображений (просто никто не прыгнул). Изображения также ссылаются на ресурс и отображают их, а не показывают ссылку по умолчанию. Я обеспокоен тем, что браузер извлекает и заменяет тег ссылки (в гипотетическом случае, когда это становится формальной функцией в основных браузерах). IMG, NOSCRIPT и OBJECT обеспечивают хорошие формальные запасные варианты. Что такого в исходном коде, что делает его не встроенным объектом? (В процессе просмотра w3.org/TR/html401/struct/objects .html) - person Tim; 02.01.2011