Angularjs 1.5:用html标签替换组件标签

时间:2016-12-02 17:49:50

标签: javascript html angularjs accessibility

我有一个角度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中的组件具有selector属性。我不相信我可以使用transclusion实现这一点(因为我的组件的控制器需要引用它的父标签)。

我是否正确地思考这个问题?也许我应该使用ng-Aria屏幕阅读器来忽略这些标签?有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

你不应该改变元素的标签, 但你应该尽可能原生地添加咏叹调标签,或者通过棱角分明的咏叹调。 阅读Angular accessibility guide