javascript - ember 核心表单组件中的 ARIA 属性

标签 javascript performance ember.js wai-aria

我想在 Ember 核心表单组件中使用 ARIA 属性,例如输入和文本区域字段。

我注意到在我的模板的组件中使用 aria 属性,它根本不起作用

{{input aria-label="Your name"}}
{{textarea aria-label="Your address"}}

所以我决定在初始化器中重新打开核心组件以将此属性添加到组件

export default {
    name: 'reopenTextAreaComponent',

    initialize: function () {
        Ember.TextArea.reopen({
            attributeBindings: ['aria-label']
        });
    }
};

自从我这样做后,我的应用程序的性能就很差了。集成测试比以前花费更多的时间。

我尽量不使用他们的组件,而只是一个 HTML 标签:

<textarea {{bind-attr aria-label="Your address"}}>{{value}}</textarea>

但这不能用 Handlebars 编译!由于 textarea 标记中的 {{value}},它会返回错误。

避免重新开放的解决方案是什么?我应该创建自己的组件吗?

谢谢

最佳答案

从 Ember 2.8+ 开始,最简单的方法是安装 ember-component-attributes ,像这样:

ember install ember-component-attributes

然后您可以添加 aria-label、其他 ARIA 属性以及您可能需要的任何其他属性,如下所示:

{{input (html-attributes aria-label="Your name")}}
{{textarea (html-attributes aria-label="Your address")}}

关于javascript - ember 核心表单组件中的 ARIA 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346660/

相关文章:

javascript - 在 emberjs 2.x 和 Firebase 3.x 中使用自定义 ID 创建记录

ember.js - Ember CLI代码覆盖率报告

javascript - 如何使用 jQuery 创建屏蔽输入?

android - Flutter:我怎样才能提高该应用程序的性能?

javascript - jQuery 选择器性能低下

python - 用于访问 Pandas 中的列的括号表示法和点表示法之间的速度差异

performance - Chrome DevTools 100%CPU

search - 去抖动 ember 搜索输入

javascript - 如何在 amchart v3 中包装 categoryAxis 文本?

javascript - 使用用户脚本嵌入图标