32

我想知道我的一些 web 开发人员/设计人员认为什么是用于模态对话框的最佳 HTML 5 元素,如灯箱、超级箱、厚箱或任何你最喜欢的风格。

<header>由于这些类型的 UI 不遵循“正常”网页的典型流程(显然,根据 HTML 5 规范专家,它本质上是一个博客),它们并没有像, <nav>,那样真正到位<section>, <article>, 或 a <footer>(在其他新的“语义”元素中)可能。

当然,总是有<div>,但是,我只是有点想可能会有一些语义上更准确的东西。

不幸的是,没有<modal>元素。你对规范中是否应该有一个有什么看法?而且由于该元素不存在,您的下一个最佳选择是什么?

4

2 回答 2

33

<aside>似乎合适。相关部分以粗体显示的当前规范:

Aside 元素表示页面的一部分,该部分由与 Aside 元素周围的内容相切相关的内容组成,并且可以被认为与该内容分开。这些部分通常在印刷排版中表示为侧边栏。

该元素可用于排版效果,如拉引号或侧边栏、广告、导航元素组以及被视为与页面主要内容分开的其他内容。

在这种情况下,模态与导致它的动作“相切相关”。虽然您通常希望边栏中有一个旁白,但语义内容的目的之一是实现不受物理页面特征限制的多功能性。规范的最后一句话似乎暗示了这种多功能用例。

于 2010-06-18T23:12:42.983 回答
21

当前的 HTML 草案有一个对话框元素。它曾一度被删除,但它又回来了,浏览器开始实现它

对话框元素表示用户与之交互以执行任务的应用程序的一部分,例如对话框、检查器或窗口。

对于可访问性(直到该元素得到更广泛的支持),我还将包括对话框 ARIA 角色

要在原生不支持该<dialog>元素的浏览器中获取 JavaScript API,您可以使用polyfill

于 2013-10-04T12:52:13.447 回答