附录B:性能、实施、,和设计说明
以下注释仅供参考,并非规范性注释。尽管外表如此对于“必须”和“应该”等词,本节中的所有要求都会出现规范中的其他地方。
本规范未定义合格用户代理如何处理一般情况错误条件,包括用户代理遇到元素、属性和属性时的行为值或本文档中未指定的实体。
然而,为了促进实验和实现各种版本的HTML,我们建议如下行为:
- 如果用户代理遇到无法识别的元素,它应该尝试以呈现元素的内容。
- 如果用户代理遇到无法识别的属性,则应该忽略整个属性规范(即属性及其值)。
- 如果用户代理遇到无法识别的属性值应使用默认属性值。
- 如果遇到未声明的实体,则应将该实体视为字符数据。
我们还建议用户代理支持通知用户这样的错误。
由于用户代理处理错误条件的方式可能不同,因此作者和用户不得依赖特定的错误恢复行为。
HTML 2.0规范([RFC1866])观察到许多HTML2.0用户代理都假设文档不是以文档类型声明引用HTML2.0规范。作为经验表明这是一个错误的假设,而当前规范没有推荐此行为。
出于互操作性的原因,作者不得通过可用的SGML机制(例如,扩展DTD,添加一组新的实体定义等)。
B.2节URI属性值中的特殊字符
尽管URI不包含非ASCII值(请参阅[URI],第2.1节)作者有时会在期望URI的属性值中指定它们(即。,用定义%URI;在中DTD公司). 例如,以下内容href公司值为非法的:
<A href=“网址:http://foo.org/H悟空“>…</A>
我们建议用户代理采用以下约定进行处理这种情况下的非ASCII字符:
- 用UTF-8表示每个字符(请参见[RFC2279])作为一个或多个字节。
- 使用URI转义机制转义这些字节(即,通过转换每个字节到%HH,其中HH是字节值的十六进制表示法)。
此过程生成语法合法的URI(如中所定义[RFC1738]第2.2节或[RFC2141],第2节)独立于性格编码包含URI的HTML文档可能代码转换。
注:。一些较旧的用户代理通常在中处理URIHTML使用的字节性格编码接收文件的位置。一些较旧的HTML文档依赖在这种情况下,转码时中断。要处理的用户代理这些较旧的文档应该在收到包含外部字符的URI时合法集,首先使用基于UTF-8的转换。仅当结果如果尝试基于的字节构造URI,URI不会解析这个字符编码其中已收到文档。
当表单已提交可以用作锚式链接(例如href公司的属性A类元件)。不幸的是,使用“&”字符分隔表单字段与它在SGML属性值中的使用进行交互以分隔字符实体引用。对于示例,使用URI“http://host/?x=1&y=2“作为链接URI,它必须写入<A href=“http://host/?x=1&y=2“>或<Ahref=“http://host/?x=1&y=2“>。
我们建议HTTP服务器实现者,特别是CGI实现者支持使用“;”代替“&”来保存作者以这种方式转义“&”字符的困难。
SGML(请参阅[ISO8879],第7.6.1节)规定立即换行必须忽略开始标记后面的内容,前面必须有换行符结束标记。这无一例外地适用于所有HTML元素。
以下两个HTML示例的呈现方式必须相同:
<P> 托马斯正在看电视
<P>托马斯正在看电视。</P>
以下两个例子也必须如此:
<A> 我最喜欢的网站
<答>我最喜欢的网站</A>
脚本和风格数据可能显示为元素内容或属性值。以下部分描述了HTML之间的边界标记和外来数据。
注:。这个DTD公司定义将元素内容和属性的脚本和样式数据都设置为CDATA值。SGML规则不允许性格参考文献在CDATA元素内容中,但不允许在CDATA-属性中使用它们值。作者在剪切和粘贴脚本时应特别注意以及元素内容和属性值之间的样式数据。
这种不对称性还意味着当从更丰富的代码转换为字符编码较差,转码器不能简单地替换不可转换的字符脚本或样式数据中的字符与相应的数字字符参考文献;它必须解析HTML文档并了解每个脚本样式语言的语法,以便正确处理数据。
元素内容
当脚本或样式数据是元素的内容时(脚本和风格),数据开始紧跟在元素开始标记之后,并在第一个ETAGO处结束(“</”)分隔符后跟名称开始字符([a-zA-Z]);注意,这可能不是是元素的结束标记。因此,作者应该在内容。转义机制特定于每个脚本或样式表语言。
非法示例:
以下脚本数据错误地包含“</”序列(作为“</EM>”)之前脚本结束标记:
<SCRIPT type=“text/javascript”>document.write(“<EM>这行不通”)</SCRIPT>
在JavaScript中,可以通过隐藏ETAGO合法地表达此代码SGML名称开始字符前的分隔符:
<SCRIPT type=“text/javascript”>document.write(“<EM>这将起作用”)</SCRIPT>
在Tcl中,可以按如下方式实现这一点:
<SCRIPT type=“text/tcl”>文档写入“<EM>这将起作用<\/EM>”</SCRIPT>
在VBScript中,可以使用色谱()功能:
“<EM>这将有效<”&Chr(47)&“EM>”
属性值
当脚本或样式数据是属性的值时(风格或内在的事件属性),作者应避免出现分隔符根据脚本或风格语言惯例。作者还应避免出现“&”if“&”不是指字符引用.
- “”应写成“";“或”";"
- “&”应写为“&;”或“&;”
例如,可以这样写:
<INPUT name=“num”value=“0”onchange=“if(比较(this.value,帮助)){gethelp()}”>
SGML系统符合[ISO8879]预计识别功能的数量不太广泛HTML用户代理支持。我们建议作者避免使用这些功能。
作者应该知道,许多用户代理只识别最小化布尔属性的形式,而不是完整形式。
例如,作者可能希望指定:
<选择OPTION>
而不是
<OPTION selected=“selected”>
标记的部分的作用类似于C识别的#ifdef构造预处理器。
<![包括[<!-- 这将包括-->]]><![点火[<!-- 这将被忽略-->]]>
SGML还定义了CDATA内容的标记部分的使用,其中“<”不被视为标记的开头,例如。,
<![CDATA(CDATA)[<sgml>标记的<an>示例用<之类的词写作并不痛苦。]]>
用户代理无法识别标记部分的标志是“]]>”的外观,当用户代理错误使用第一个“>”字符作为以“<![”开头的标记的结尾。
处理指令是一种捕获特定于平台的习惯用法的机制。处理指令以<?开头?并以>结尾
<?指令>
例如:
<?><?stylett=font-courier><?分页符><?实验>…</实验>
作者应该知道,许多用户代理都会呈现处理指令作为文档文本的一部分。
一些SGML SHORTTAG结构节省了类型,但没有添加表达能力到SGML应用程序。虽然这些构造在技术上没有引入歧义,它们会降低文档的健壮性,尤其是当语言得到了增强,可以包含新的元素。因此,虽然SHORTTAG构造与属性相关的SGML被广泛使用和实现,与元素不是。使用它们的文件符合SGML文件,但不太可能与许多现有的HTML工具一起使用。
有问题的SHORTTAG结构如下:
- NET标记:
<姓名//
- 关闭的开始标记:
<名称1<名称2>
- 空开始标记:
<>
- 空结束标记:
</>
本节提供了一些简单的建议,这些建议将使您的文档搜索引擎更容易访问。
- 定义文档语言
- 在网络的全球背景下,了解哪些人是重要的页面所用的语言。这将在语言信息.
- 指定此文档的语言变体
- 如果您已准备好将本文档翻译成其他语言,您应该使用
链接元素来引用这些。这允许索引引擎,以用户的首选语言为用户提供搜索结果,无论查询是如何编写的。例如,以下链接提供搜索引擎的法语和德语替代品:
<LINK rel=“替代”type=“text/html”href=“mydoc-fr.html”hreflang=“fr”lang=“fr”title=“露天生活”><LINK rel=“替代”type=“text/html”href=“mydoc-de.html”hreflang=“de”lang=“de”title=“Das Leben im Untergrund”>
- 提供关键字和描述
- 一些索引引擎寻找元定义以逗号分隔的关键字/短语列表,或提供简短描述的列表。搜索引擎可能会在搜索结果中显示这些关键字。价值的名称搜索引擎搜索的属性不是由本规范定义。考虑这些例子,
<META name=“keywords”content=“假期,希腊,阳光”><META name=“description”content=“田园式欧洲度假”>
- 指示集合的开始
- 文字处理文档或演示文稿的集合经常翻译成HTML文档的集合。它有助于搜索结果除了引用搜索。您可以使用链接具有的元素rel=“开始”以及标题属性,如:
<LINK rel=“开始”type=“text/html”href=“page1.html”title=“广义相对论”>
- 为机器人提供索引说明
- 人们可能会惊讶地发现,他们的网站被索引机器人,并且该机器人不应被允许访问现场的敏感部分。许多网络机器人为网站提供设施管理员和内容提供商限制机器人的操作。这是通过两种机制实现:“robots.txt”文件和元元素,如下所述。
robots.txt文件
当机器人访问网站时,比如网址:http://www.foobar.com/,首先检查的http://www.foobar.com/robots.txt。如果它能找到这个文件,它会分析其内容以查看是否允许检索文档。你可以自定义robots.txt文件,使其仅适用于特定的robots,并且不允许访问特定目录或文件。
下面是一个示例robots.txt文件,它阻止所有机器人访问整个场地
用户代理:*#适用于所有机器人不允许:/#不允许为所有页面建立索引
Robot只需在您的站点上查找“/robots.txt”URI,其中站点被定义为在特定主机和端口号上运行的HTTP服务器。以下是一些示例位置robots.txt(机器人.txt):
站点URI |
的URIrobots.txt(机器人.txt) |
网址:http://www.w3.org/ |
http://www.w3.org/robots.txt |
http://www.w3.org:80/ |
http://www.w3.org:80/robots.txt |
http://www.w3.org:1234/ |
http://www.w3.org:1234/robots.txt |
http://w3.org/ |
http://w3.org/robots.txt |
一个站点上只能有一个“/arobots.txt”。具体来说,您应该不要将“robots.txt”文件放在用户目录中,因为robot永远看不到对他们进行攻击。如果您希望用户能够创建自己的“robots.txt”,您需要将它们全部合并到一个“/robots.txt”中。如果你不想为此,您的用户可能希望使用Robots META标签。
一些提示:URI区分大小写,“/robots.txt”字符串必须全部为小写。中的单个记录内不允许有空行“robots.txt”文件。
每个记录必须只有一个“用户代理”字段。机器人应该对这一领域的解释是自由的。的区分大小写的子字符串匹配建议使用没有版本信息的名称。
如果值为“*”,则记录描述任何没有匹配任何其他记录的机器人。不允许有在“/robots.txt”文件中有多条这样的记录。
“不允许”字段指定不可访问的部分URI。这个可以是完整路径,也可以是部分路径;以该值开头的任何URI都将无法检索。例如,
不允许:/help不允许/help.html和/help/index.html,而不允许:/help/将不允许/help/index.html,但允许/help.html。
“Disallow”的空值表示可以检索所有URI。在robots.txt文件中必须至少存在一个“Disallow”字段。
机器人和META元素
这个元元素允许HTML作者告诉来访的机器人是否可以为文档编制索引,或用于获取更多链接。没有服务器需要管理员操作。
在下面的示例中,robot既不应索引此文档,也不应分析它的链接。
<META name=“机器人”content=“NOINDEX,NOFOLLOW”>
内容中的术语列表为所有,索引,不遵循,NOINDEX公司.
注:。1997年初,只有少数机器人实现了这一点,但随着公众更多地关注控制,这一情况有望改变分度机器人。
HTML表模型是从对现有SGML表的研究发展而来的模型、通用字处理包中表的处理以及杂志、书籍和其他纸质书籍中的一系列表格布局技术文件。选择该模型是为了简单地表达简单的表格需要时提供额外的复杂性。这使得创建使用日常文本编辑器标记HTML表并减少学习启动曲线。这一功能对成功非常重要HTML到目前为止。
越来越多的人通过从其他文档转换来创建表格格式或直接使用所见即所得编辑器创建。重要的是HTML表模型很适合这些创作工具。这会影响表示跨多行或多列的单元格,以及对齐方式和其他表示属性与单元格组相关联。
动态重新格式化
HTML表模型的一个主要考虑因素是作者没有控制用户如何调整表的大小,他或她将使用什么字体等。这使依赖以绝对像素指定的列宽有风险单位。相反,表必须能够动态更改大小以匹配当前窗口大小和字体。作者可以为相关人员提供指导列的宽度,但用户代理应确保列足够宽以呈现单元格内容中最大元素的宽度。如果必须覆盖作者的规范,单个的相对宽度不应大幅更改列。
对于大型表或慢速网络连接,增量表显示是对用户满意度很重要。用户代理应该能够开始显示收到所有数据之前的表格。默认窗口宽度大多数用户代理显示大约80个字符,以及许多HTML的图形页面的设计考虑了这些默认值。通过指定列,包括控制表宽度和不同的列,作者可以向用户代理提供提示,以允许表内容的增量显示。
对于增量显示,浏览器需要列的数量及其宽度。表格的默认宽度为当前窗口大小(width=“100%”). 这可以通过设置宽度的属性表元素。默认情况下,所有列的宽度都相同,但您可以使用一个或多个指定列宽COL公司表数据开始之前的元素。
剩下的问题是列数。一些人建议等待直到收到表的第一行,但这可能需要如果单元格包含大量内容,则需要很长时间。总的来说,它制造了更多当需要增量显示时,让作者显式地指定中的列数表元素。
作者仍然需要一种方法来告诉用户代理是否使用增量显示或自动调整表格大小以适应单元格内容。在这两个通过自动调整大小模式,列数由第一次通过决定。在增量模式中,列数必须在前面说明(COL公司或
科尔集团元素)。
结构和表示
HTML将段落和引号等结构标记与呈现边距、字体、颜色等习惯用法影响表格?从纯粹主义者的角度来看表格单元格和单元格之间的边界是一个呈现问题,而不是结构。然而,在实践中,将这些与结构信息,因为这些功能可以从一个应用程序高度移植到下一步。HTML表模型将大多数呈现信息留给关联的样式表。本规范中的模型设计为这种样式表的优点,但不需要它们。
当前的桌面发布包提供了对呈现表格,并且在HTML中重现这一点不切实际,而不会将HTML变成像RTF或MIF那样庞大的富文本格式。这个然而,规范确实为作者提供了从一组常用的边框样式类。这个框架属性控制周围边框的外观当
规则属性决定选择表中的规则。通过以下方式支持更精细的控制渲染注释。这个风格属性可用于指定各个元素的呈现信息。进一步渲染信息可以通过风格文档中的元素头部或通过链接的样式表。
在本规范的制定过程中,有许多途径研究指定表格的规则模式。一个问题令人担忧可以做出的陈述类型。包括边缘支撑减法和边加法导致了相对复杂的算法。例如,允许全套表元素包括框架和规则属性导致该算法包含约24个步骤,用于确定单元格是否应被规则化。即使是这种额外的复杂性也无法提供足够的呈现控件来满足表的全部需求。这个当前规范刻意坚持简单直观的模型,足以满足大多数目的。在更多复杂的方法是标准化的。
行和列组
本规范提供了中所述简单模型的超集早期关于HTML+的工作。表被认为是由可选的标题和一系列行,这些行又由一个序列组成表单元格的。该模型进一步区分了标题和数据单元格,以及允许单元格跨越多行和多列。
遵循CALS表格模型(请参阅[校准]),本规范允许将表行分组为头部、身体和脚部部分。这个简化了渲染信息的表示,可以用于在跨页面边界打破表格时重复表格的页眉行和页脚行,或在可滚动的正文面板上方提供固定标题。在标记中,脚节放在正文节之前。这是与共享的优化CALS用于处理很长的表。它允许渲染脚无需等待处理整个表。
无障碍
对于视力受损的人来说,HTML提供了一种希望,可以将由于采用基于windows的图形用户界面而造成的损害。这个HTML表模型包含用于标记每个单元格的属性,以支持高高质量的文本到语音转换。同样的属性也可以用于支持将表数据自动导入和导出到数据库或电子表格。
如果科尔或科尔集团元素存在时指定列数,可以使用固定的布局。否则,应使用下面描述的自动布局算法。
如果宽度未指定属性,可视化用户代理应假定默认值为100%用于格式化。
建议用户代理将表宽度增加到超过该值由指定宽度如果单元格内容不是这样溢出。覆盖指定宽度的用户代理应在原因。用户代理可以选择跨行拆分单词,以避免水平滚动过大或滚动不切实际时,或不受欢迎。
出于布局的目的,用户代理应该考虑表标题(由
字幕元素)的行为类似于单元格。每个标题是一个单元格,如果位于表和行(如果位于表的左侧或右侧)。
固定布局算法
对于此算法,假设列数已知。这个默认情况下,列宽应设置为相同的大小。作者可以重写这通过使用科尔集团或
COL公司元素。默认的表格宽度为当前左右边距之间的空格,但可能会被宽度属性表元素,或根据绝对列宽确定。交易对于绝对列宽和相对列宽的混合,第一步是将表宽度中的空间分配给具有绝对宽度的列。之后这样,剩余的空间在具有相对宽度。
仅表语法不足以保证属性值。例如COL公司和科尔集团元素可能不一致其中表单元格所暗示的列数。出现了进一步的问题列太窄,无法避免单元格内容溢出时。宽度of the table as specified by the表元素或COL公司元素可能会导致单元格内容溢出。它是建议用户代理尝试从这些情况,例如断字话如果连字符点为未知。
如果不可分割元素导致单元格溢出,则用户代理可能会考虑调整列宽并重新呈现表格。在在最坏的情况下,如果列宽调整和/或可滚动的单元格内容不可行。在任何情况下,如果单元格内容被拆分应以适当的方式向用户指示。
自动布局算法
如果未使用指定列数COL公司和科尔集团元素,然后是用户代理应使用以下自动布局算法。它使用两次通过表数据并随表的大小线性缩放。
在第一次传递中,禁用换行,用户代理跟踪每个单元格的最小和最大宽度。最大宽度由下式给出最宽的线。由于已禁用换行,因此段落被视为长线,除非被打断巴西元素。给出了最小宽度根据最宽的文本元素(单词、图像等)考虑前导缩进和列出项目符号等。换句话说,需要确定单元格在其自身窗口中所需的最小宽度开始溢出。允许用户代理拆分单词将最小化需求对于水平滚动或在最坏的情况下,剪切单元格内容。
此过程也适用于单元格内容中出现的任何嵌套表。嵌套表中单元格的最小和最大宽度用于确定这些表以及父表的最小和最大宽度单元格本身。该算法与聚合单元内容呈线性关系,并且范围很广可以说,与嵌套深度无关。
为了处理单元格内容的字符对齐,该算法保留了三个每列的运行最小/最大总计:align char的左侧,align char的右侧和未对齐。列的最小宽度为:最大值(最小左侧+最小右侧,最小未对齐).
然后使用最小和最大单元格宽度来确定列的相应最小和最大宽度。这些依次是用于查找表格的最小和最大宽度。请注意,单元格可以包含嵌套表,但这不会使代码复杂化。这个下一步是根据可用空间(即。,当前左右边距之间的间距)。
对于跨多列的单元格,一种简单的方法包括将最小/最大宽度平均分配给每个组成列。A类稍微复杂一点的方法是使用未扫描单元的最小/最大宽度加权如何分配跨距宽度。实验表明这两种方法中,有一种对各种表都有很好的结果。
赋值时需要包括表格边框和单元格间距列宽。有三种情况:
- 最小表格宽度等于或大于可用宽度空间。在这种情况下,请指定最小宽度并允许用户滚动水平方向。要转换为布莱叶盲文,需要替换单元格引用包含其完整内容的注释。按照惯例,这些出现在表格之前。
- 最大桌子宽度适合可用空间。在这个在这种情况下,将列设置为其最大宽度。
- 表的最大宽度大于可用空间,但最小表格宽度较小。在这种情况下,找出差异在可用空间和最小表宽度之间,我们称之为W公司.让我们也打电话D类最大和最小宽度之间的差异表。
对于每一列,让d日是最大值和最小值之间的差值该列的宽度。现在将列的宽度设置为最小宽度加上d日次W公司结束D类。这使得列之间存在很大差异在最小和最大宽度之间,宽度大于较小列的宽度差异。
然后对嵌套表重复此赋值步骤,使用最小值以及在第一次传递中为所有这些表导出的最大宽度。在这种情况下,父表单元格的宽度在中扮演当前窗口大小的角色上述描述。对于所有嵌套的桌子。然后使用指定的宽度呈现最顶部的表。嵌套表随后作为父表单元格的一部分呈现内容。
如果表格宽度用宽度属性,则用户代理尝试设置列要匹配的宽度。这个宽度如果这会导致列小于其最小值(即不可分割)宽度。
如果使用指定了相对宽度COL公司元素,则修改算法以增加列宽超过最小宽度以满足相对宽度约束。这个COL公司元素应仅作为提示,因此列不应设置为小于其最小宽度。同样,列也不应该这样做桌子的宽度远远超出了窗户的范围。如果COL公司元素指定的相对宽度为零,则列应始终设置为其最小宽度。
当使用双通道布局算法时,中的默认对齐位置缺少显式或继承的炭化属性可以通过选择以下位置来确定对齐前后宽度的中心线字符位于列中任意行的最大值哪一个align=“char”。对于增量表布局,建议使用默认值是charoff=“50%”。如果同一行中有多个不同的单元格列使用字符对齐,则默认情况下,所有此类单元格应对齐,无论使用哪个字符进行对齐。处理对象的规则当显式或隐式对齐导致数据超过指定列宽度的情况。
属性名称的选择。本来会的最好为框架属性一致与规则属性和用于对齐的值。对于实例:无,顶部,底部,顶部底部,左侧,右侧,左侧,左侧,所有.不幸的是,SGML要求枚举的属性值对每个属性都是唯一的元素,与属性名无关。这会立即导致以下问题“无”、“左”、“右”和“全部”。的值框架已选择属性以避免与规则,排列、和垂直对齐属性。这为未来提供了一个衡量标准,因为预计框架和规则属性将在将来添加到其他表元素中对本规范的修订。另一种选择是框架CDATA属性。W3C HTML工作组的共识能够使用SGML验证工具进行检查的好处是基于枚举值的属性超过了一致性的需要名称。
从网络接收的文档的增量显示提供了在形式上产生某些问题。用户代理应防止表单从提交到表单的所有元素都已完成收到。
文档的增量显示引发了以下方面的一些问题标签导航。将焦点放在最低值的启发式TAB顺序乍一看,文件中的内容似乎足够合理。然而,这意味着必须等待文档的所有文本从那时起,收到的价值最低TAB顺序可能仍然会改变。如果用户在此之前点击tab键,用户代理将焦点转移到当前的最低水平是合理的可获得的TAB顺序.
如果表单与客户端脚本相关联,则还有可能以解决问题。例如,给定字段的脚本处理程序可以引用尚未存在的字段。
该规范定义了一组足够强大的元素和属性满足制作表单的一般需要。不过还有空间许多可能的改进。例如,以下问题可能是未来解决:
- 与现代用户相比,表单字段类型的范围太有限接口。例如,没有提供表格数据输入、滑块或多页布局。
- 服务器无法更新提交表单中的字段,而必须更新发送一个完整的HTML文档,导致屏幕闪烁。
- 这些也给基于语音的浏览器带来了问题,使其难以实现让视障人士与HTML表单交互。
另一个可能的扩展是添加主家属性到INPUT(输入)用作客户端当“类型=图像“面积与单击位置相对应的元素将起作用要传递给服务器的值。为了避免修改服务器脚本,可能适合扩展面积提供用于INPUT(输入)元素。
本规范保留了语法,以便将来支持脚本宏在HTML CDATA属性中。其目的是允许设置属性取决于页面前面显示的对象的属性。这个语法为:
attribute=“&{宏观主体}; ... "
脚本宏的当前实践
宏体由默认脚本中的一个或多个语句组成语言(根据内在事件属性)。右边后面的分号始终需要大括号,否则将处理右大括号字符“}”作为宏观主体的一部分。值得注意的是,引号是包含脚本宏的属性总是需要的。
CDATA属性的处理过程如下:
- SGML解析器评估任何SGML实体(例如,“>;”)。
- 接下来,脚本引擎将评估脚本宏。
- 最后,将生成的字符串传递给应用程序后续处理。
当加载(或重新加载)文档但调整文档大小、重新绘制文档等时不再发生。
弃用示例:
以下是一些使用JavaScript的示例。第一种方法将文档随机化背景色:
<BODY bgcolor='&{randomrgb};'>
也许你想把背景调暗以便晚上观看:
<BODY bgcolor='&{if(Date.getHours>18)…};'>
下一个示例使用JavaScript设置客户端的坐标图像映射:
<MAP NAME=foo><AREA shape=“rect”coords=“&{myrect(imageuri)};”href=“&{myuri};“alt=”“></MAP>
此示例根据文档属性设置图像的大小:
<IMG src=“bar.gif”width='&{document.banner.width/2};'height='50%'alt=“banner”>
您可以通过脚本设置链接或图像的URI:
<SCRIPT type=“text/javascript”>功能制造商(小部件){...}功能位置(制造商){...}功能标识(制造商){...}</SCRIPT><A href='&{location(制造商(“小部件”))};'>小部件</A><IMG src='&{logo(制造商(“widget”))};'alt=“logo”>
最后一个示例显示了如何使用单个引用SGML CDATA属性或双引号。如果在属性字符串周围使用单引号然后可以将双引号作为属性字符串的一部分。另一种方法是使用;对于双引号:
<IMG src=“&{logo(制造商(小部件))};”alt=“logo”>
由于无法保证帧目标名称是唯一的,因此适合描述查找给定目标名称的帧:
- 如果目标名称是规范性文本中描述的保留字,按说明使用。
- 否则,在包含链接的窗口。使用名称准确的第一帧匹配。
- 如果在(2)中找不到这样的框架,请将步骤2应用于面对面订购。一旦遇到带有同名。
- 如果在(3)中找不到这样的框架,则创建一个新窗口并将其分配给目标名称。
W3C Web可访问性计划(【WAI】)正在制定一系列指南改善残疾人的网络无障碍。有三套指导方针:
- Web内容可访问性指南([世界海关总署]),针对作者和现场经理。请参考Web内容可访问性指南有关为图像、小程序、脚本提供可选文本的信息,等。
- 用户代理辅助功能指南(【UAGL】),用于用户代理开发人员(浏览器、多媒体播放器、辅助技术)。拜托参考这些指南以获得处理替代文本的指导。
- 创作工具辅助功能指南(【ATGL】),用于创作工具开发人员。
锚定、嵌入图像和包含URI作为参数可能会导致URI根据用户输入取消引用。在这种情况下[RFC1738]应考虑第6节。广泛部署的方法提交表单请求(HTTP和SMTP)几乎不能保证保密性。通过以下方式请求敏感信息的信息提供商表单--尤其是INPUT(输入)元素,类型=“password”--应该知道并让他们用户意识到缺乏保密性。
用户代理不应发送用户未明确要求的任何文件待发送。因此,HTML用户代理需要确认任何默认文件可能由建议的名称价值的属性INPUT(输入)元素。隐藏控件不得指定文件。
本规范不包含对数据进行加密的机制;这应该由任何其他安全机制来处理数据传输。
上传文件后,处理代理应处理并存储该文件适当地。