课程表

Ext.js课程

工具箱
速查手册

Ext.js 可访问性

当前位置:免费教程 » JS/JS库/框架 » Ext.js

什么是可访问性

一般来说,可访问性意味着可用性,内容可访问意味着内容可用。

在软件术语中,应用程序可访问意味着应用程序可用于所有人。 这里所指的是残疾人,视障者一次或使用屏幕阅读器的人,使用计算机或那些喜欢用键盘而不是使用鼠标的所有导航。

可访问的应用程序称为ARIA(可访问富互联网应用程序)。

Ext JS中的辅助功能:

Ext JS旨在牢记这一点,它应该与所有键盘导航工作。它已内置标签索引和聚焦能力,它始终是默认开启,所以我们不需要添加任何属性来启用此功能。

此功能允许所有键盘启用的组件在标签页插入时与用户交互。 像我们可以使用tab移动到下一个组件,而不是鼠标移动该组件。 同样,我们可以移动+标签向后移动,然后输入键盘进行点击等。

焦点样式和选项卡:

当使用击键进行制表时,Focus将内置在Extjs中。

下面的示例显示了当焦点随着制表符改变时如何改变样式。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link href="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-crisp/resources/theme-crisp-all.css" rel="stylesheet" />
  5. <script type="text/javascript" src="/attachements/w3c/ext-all.js"></script>
  6. <script type="text/javascript">
  7. Ext.onReady(function(){
  8. Ext.create('Ext.Button', {
  9. renderTo: Ext.getElementById('button1'),
  10. text: 'Button1',
  11. listeners: {
  12. click: function() {
  13. Ext.MessageBox.alert('Alert box', 'Button 1 is clicked');
  14. }
  15. }
  16. });
  17. Ext.create('Ext.Button', {
  18. renderTo: Ext.getElementById('button2'),
  19. text: 'Button2',
  20. listeners: {
  21. click: function() {
  22. Ext.MessageBox.alert('Alert box', 'Button 2 is clicked');
  23. }
  24. }
  25. });
  26. Ext.create('Ext.Button', {
  27. renderTo: Ext.getElementById('button3'),
  28. text: 'Button3',
  29. listeners: {
  30. click: function() {
  31. Ext.MessageBox.alert('Alert box', 'Button 3 is clicked');
  32. }
  33. }
  34. });
  35. });
  36. </script>
  37. </head>
  38. <body> <p>Please click the button to see event listener:</p>
  39. <span id="button3"/>
  40. <span id="button2"/>
  41. <span id="button1"/>
  42. </body>
  43. </html>

尝试一下


ARIA主题:

ExtJS为视障人士提供主题咏叹调。

这里的例子显示的咏叹调话题更容易为视障者。

下面的示例显示了Aria主题:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link href="https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-aria/resources/theme-aria-all.css" rel="stylesheet" />
  5. <script type="text/javascript" src="/attachements/w3c/ext-all.js"></script>
  6. <script type="text/javascript">
  7. Ext.require([
  8. 'Ext.grid.*',
  9. 'Ext.data.*'
  10. ]);
  11. // Creation of data model
  12. Ext.define('StudentDataModel', {
  13. extend: 'Ext.data.Model',
  14. fields: [
  15. {name: 'name', mapping : 'name'},
  16. {name: 'age', mapping : 'age'},
  17. {name: 'marks', mapping : 'marks'}
  18. ]
  19. });
  20.  
  21. Ext.onReady(function(){
  22. // Store data
  23. var myData = [
  24. { name : "Asha", age : "16", marks : "90" },
  25. { name : "Vinit", age : "18", marks : "95" },
  26. { name : "Anand", age : "20", marks : "68" },
  27. { name : "Niharika", age : "21", marks : "86" },
  28. { name : "Manali", age : "22", marks : "57" }
  29. ];
  30. // Creation of first grid store
  31. var firstGridStore = Ext.create('Ext.data.Store', {
  32. model: 'StudentDataModel',
  33. data: myData
  34. });
  35. // Creation of first grid
  36. var firstGrid = Ext.create('Ext.grid.Panel', {
  37. store : firstGridStore,
  38. columns :
  39. [{
  40. header: "Student Name",
  41. dataIndex: 'name',
  42. id : 'name',
  43. flex: 1,
  44. sortable: true
  45. },{
  46. header: "Age",
  47. dataIndex: 'age',
  48. flex: .5,
  49. sortable: true
  50. },{
  51. header: "Marks",
  52. dataIndex: 'marks',
  53. flex: .5,
  54. sortable: true
  55. }],
  56. stripeRows : true,
  57. title : 'First Grid',
  58. margins : '0 2 0 0'
  59. });
  60. // Creation of a panel to show both the grids.
  61. var displayPanel = Ext.create('Ext.Panel', {
  62. width : 600,
  63. height : 200,
  64. layout : {
  65. type: 'hbox',
  66. align: 'stretch',
  67. padding: 5
  68. },
  69. renderTo : 'panel',
  70. defaults : { flex : 1 },
  71. items : [
  72. firstGrid
  73. ]
  74. });
  75. });
  76. </script>
  77. </head>
  78. <body>
  79. <div id = "panel" > </div>
  80. </body>
  81. </html>

尝试一下

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号