1/* 2 * Function that sends an accesskey using the proper key combination depending on the browser and OS. 3 * 4 * This needs that the test imports the following scripts: 5 * <script src="/resources/testdriver.js"></script> 6 * <script src="/resources/testdriver-actions.js"></script> 7 * <script src="/resources/testdriver-vendor.js"></script> 8*/ 9function pressAccessKey(accessKey){ 10 let controlKey = '\uE009'; // left Control key 11 let altKey = '\uE00A'; // left Alt key 12 let optionKey = altKey; // left Option key 13 let shiftKey = '\uE008'; // left Shift key 14 // There are differences in using accesskey across browsers and OS's. 15 // See: // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey 16 let isMacOSX = navigator.userAgent.indexOf("Mac") != -1; 17 let osAccessKey = isMacOSX ? [controlKey, optionKey] : [shiftKey, altKey]; 18 let actions = new test_driver.Actions(); 19 // Press keys. 20 for (let key of osAccessKey) { 21 actions = actions.keyDown(key); 22 } 23 actions = actions 24 .keyDown(accessKey) 25 .addTick() 26 .keyUp(accessKey); 27 osAccessKey.reverse(); 28 for (let key of osAccessKey) { 29 actions = actions.keyUp(key); 30 } 31 return actions.send(); 32} 33 34 35