Angularjs 1.5: 用 html 标签替换组件标签
Angularjs 1.5: replace component tag with html tag
我有一个 angular 1.5 应用程序,它广泛使用了组件。我的问题是我的自定义组件标签未通过可访问性测试。我的视图模型模板如下所示:
<my-component data='myModel'></my-component>
<script type="text/ng-template" id=myComponent.html">
<pre> {{ data | json }} </pre>
</script>
这将导致实时渲染 DOM:
<my-component data='myModel'>
<pre>
...
</pre>
</my-component>
我们的测试工具无法识别 my-component 标签,无法访问。
我研究过将 my-component 标签转换为 div,但不知道如何做。 1.5 中的指令具有替换功能。 2.0 中的组件具有选择器 属性。我不相信我也可以使用嵌入来实现这一点(因为我的组件的控制器需要引用它的父标签)。
我的思考方式正确吗?也许我应该为屏幕阅读器使用 ng-Aria 来忽略这些标签?有人 运行 遇到过这个问题吗?
您不应该更改元素的标签,
但是你应该尽可能在本地添加 aria 标签,或者通过 angular aria.
阅读 Angular accessibility guide.
我有一个 angular 1.5 应用程序,它广泛使用了组件。我的问题是我的自定义组件标签未通过可访问性测试。我的视图模型模板如下所示:
<my-component data='myModel'></my-component>
<script type="text/ng-template" id=myComponent.html">
<pre> {{ data | json }} </pre>
</script>
这将导致实时渲染 DOM:
<my-component data='myModel'>
<pre>
...
</pre>
</my-component>
我们的测试工具无法识别 my-component 标签,无法访问。
我研究过将 my-component 标签转换为 div,但不知道如何做。 1.5 中的指令具有替换功能。 2.0 中的组件具有选择器 属性。我不相信我也可以使用嵌入来实现这一点(因为我的组件的控制器需要引用它的父标签)。
我的思考方式正确吗?也许我应该为屏幕阅读器使用 ng-Aria 来忽略这些标签?有人 运行 遇到过这个问题吗?
您不应该更改元素的标签, 但是你应该尽可能在本地添加 aria 标签,或者通过 angular aria. 阅读 Angular accessibility guide.