1 <!doctype html> 2 <!-- 3 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. 4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt 6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt 7 Code distributed by Google as part of the polymer project is also 8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt 9 --> 10 <html> 11 <head> 12 <meta charset="UTF-8"> 13 <title>paper-fab a11y tests</title> 14 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 15 16 <script src="../../webcomponentsjs/webcomponents.js"></script> 17 <script src="../../web-component-tester/browser.js"></script> 18 19 <link href="../../core-icons/core-icons.html" rel="import"> 20 <link href="../paper-fab.html" rel="import"> 21 22 </head> 23 <body> 24 25 <paper-fab id="fab1" icon="add"></paper-fab> 26 27 <paper-fab id="fab2" icon="add" disabled></paper-fab> 28 29 <paper-fab id="fab3" icon="add" aria-label="custom"></paper-fab> 30 31 <script> 32 33 var f1 = document.getElementById('fab1'); 34 var f2 = document.getElementById('fab2'); 35 var f3 = document.getElementById('fab3'); 36 37 test('aria role is a button', function() { 38 assert.strictEqual(f1.getAttribute('role'), 'button'); 39 }); 40 41 test('aria-disabled is set', function(done) { 42 assert.ok(f2.hasAttribute('aria-disabled')); 43 f2.removeAttribute('disabled'); 44 flush(function() { 45 assert.ok(!f2.hasAttribute('aria-disabled')); 46 done(); 47 }); 48 }); 49 50 test('aria-label is set', function() { 51 assert.strictEqual(f1.getAttribute('aria-label'), 'add'); 52 }); 53 54 test('user-defined aria-label is preserved', function(done) { 55 assert.strictEqual(f3.getAttribute('aria-label'), 'custom'); 56 f3.icon = 'arrow-forward'; 57 flush(function() { 58 assert.strictEqual(f3.getAttribute('aria-label'), 'custom'); 59 done(); 60 }); 61 }); 62 63 </script> 64 65 </body> 66 </html> 67