在CSS生成的内容模块级别3中,是否将生成的内容定义为显示在文档树上?

Chapter 5 of Cascading Style Sheets Level 2 Revision 2指出生成的内容(伪元素)没有出现在文档源或文档树中。

  

伪元素和伪类都不会出现在文档源或文档树中。


但是,上面的描述在CSS伪元素模块级别4,CSS生成的内容模块级别3和选择器级别3中不存在。

此外,根据CSS Generated Content Module Level 3,生成的内容应该是可搜索的,可选择的,并且辅助技术应该能够使用内容信息。

  

生成的内容应该是可搜索的,可选的并且可用于辅助技术。 content属性适用于语音,生成的内容必须呈现为语音输出。

从以上所述,我相信CSS生成的内容模块3级中不能保证包含伪元素的生成的内容不会在文档树中。在CSS生成的内容模块级别3中,是否将生成的内容定义为显示在文档树上?

jianggang158 回答:在CSS生成的内容模块级别3中,是否将生成的内容定义为显示在文档树上?

我不会指望生成的内容在不久的将来可以被选择,搜索或可用于辅助技术,但无论如何都要做好准备。应该是,但不是。在某些时候,浏览器可能会实现规范的这一方面,但是我什么时候都不会屏息。当/如果浏览器确实实现了规范的这一方面,我认为这不会涉及使生成的内容成为一部分的。如果他们这样做了,那将是向后不兼容的,因此应该要求使用其他文档类型。

对于生成的内容是可选的,可搜索的并且可用于辅助技术的,它不必是dom的一部分。我认为,通过更改ui访问呈现的文档的方式,而不是更改文档的呈现方式,浏览器实际上更容易实现此类ui工具所生成内容的可用性。意思是,我的猜测是,如果/当生成的内容可用于各种ui工具(搜索/选择/屏幕阅读器)时,它仍将不属于dom。

原因是,在应用样式之前先对dom进行结构化和填充。我不是浏览器如何呈现内容的专家,但是我了解足够多,要知道让CSS实际上将内容注入dom将需要对呈现过程进行重大更改。此外,css应该从根本上改变dom的结构并没有真正意义,因为这样做会违背css的本意。

另一方面,更改ui工具访问呈现内容的方式不必涉及从根本上改变呈现过程。包含生成的内容的渲染页面存在于浏览器中。当前ui工具(例如搜索/选择/屏幕阅读器)可以在dom上运行,但并没有根本原因。这些ui工具可以同样轻松地操作最终呈现的结果。

我的猜测是,在dom上运行的这些ui工具是一种旧版实现,尚待重新设计,但实际上应该重新设计。 ui工具应在最终输出上运行。现在,随着影子dom之类的问题的出现,需要ui工具对最终渲染的内容进行操作而不是dom变得更加明显。

因此,我认为生成的内容将来不会成为dom的一部分,尽管它应该并且可能会变为可选,可搜索并且可用于辅助技术。

本文链接:https://www.f2er.com/3042514.html

大家都在问