[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 this["wp"] = this["wp"] || {}; this["wp"]["a11y"] = 2 /******/ (function(modules) { // webpackBootstrap 3 /******/ // The module cache 4 /******/ var installedModules = {}; 5 /******/ 6 /******/ // The require function 7 /******/ function __webpack_require__(moduleId) { 8 /******/ 9 /******/ // Check if module is in cache 10 /******/ if(installedModules[moduleId]) { 11 /******/ return installedModules[moduleId].exports; 12 /******/ } 13 /******/ // Create a new module (and put it into the cache) 14 /******/ var module = installedModules[moduleId] = { 15 /******/ i: moduleId, 16 /******/ l: false, 17 /******/ exports: {} 18 /******/ }; 19 /******/ 20 /******/ // Execute the module function 21 /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22 /******/ 23 /******/ // Flag the module as loaded 24 /******/ module.l = true; 25 /******/ 26 /******/ // Return the exports of the module 27 /******/ return module.exports; 28 /******/ } 29 /******/ 30 /******/ 31 /******/ // expose the modules object (__webpack_modules__) 32 /******/ __webpack_require__.m = modules; 33 /******/ 34 /******/ // expose the module cache 35 /******/ __webpack_require__.c = installedModules; 36 /******/ 37 /******/ // define getter function for harmony exports 38 /******/ __webpack_require__.d = function(exports, name, getter) { 39 /******/ if(!__webpack_require__.o(exports, name)) { 40 /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41 /******/ } 42 /******/ }; 43 /******/ 44 /******/ // define __esModule on exports 45 /******/ __webpack_require__.r = function(exports) { 46 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48 /******/ } 49 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 50 /******/ }; 51 /******/ 52 /******/ // create a fake namespace object 53 /******/ // mode & 1: value is a module id, require it 54 /******/ // mode & 2: merge all properties of value into the ns 55 /******/ // mode & 4: return value when already ns object 56 /******/ // mode & 8|1: behave like require 57 /******/ __webpack_require__.t = function(value, mode) { 58 /******/ if(mode & 1) value = __webpack_require__(value); 59 /******/ if(mode & 8) return value; 60 /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61 /******/ var ns = Object.create(null); 62 /******/ __webpack_require__.r(ns); 63 /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64 /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65 /******/ return ns; 66 /******/ }; 67 /******/ 68 /******/ // getDefaultExport function for compatibility with non-harmony modules 69 /******/ __webpack_require__.n = function(module) { 70 /******/ var getter = module && module.__esModule ? 71 /******/ function getDefault() { return module['default']; } : 72 /******/ function getModuleExports() { return module; }; 73 /******/ __webpack_require__.d(getter, 'a', getter); 74 /******/ return getter; 75 /******/ }; 76 /******/ 77 /******/ // Object.prototype.hasOwnProperty.call 78 /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79 /******/ 80 /******/ // __webpack_public_path__ 81 /******/ __webpack_require__.p = ""; 82 /******/ 83 /******/ 84 /******/ // Load entry module and return exports 85 /******/ return __webpack_require__(__webpack_require__.s = 483); 86 /******/ }) 87 /************************************************************************/ 88 /******/ ({ 89 90 /***/ 1: 91 /***/ (function(module, exports) { 92 93 (function() { module.exports = this["wp"]["i18n"]; }()); 94 95 /***/ }), 96 97 /***/ 275: 98 /***/ (function(module, exports) { 99 100 (function() { module.exports = this["wp"]["domReady"]; }()); 101 102 /***/ }), 103 104 /***/ 483: 105 /***/ (function(module, __webpack_exports__, __webpack_require__) { 106 107 "use strict"; 108 // ESM COMPAT FLAG 109 __webpack_require__.r(__webpack_exports__); 110 111 // EXPORTS 112 __webpack_require__.d(__webpack_exports__, "setup", function() { return /* binding */ setup; }); 113 __webpack_require__.d(__webpack_exports__, "speak", function() { return /* binding */ speak; }); 114 115 // EXTERNAL MODULE: external {"this":["wp","domReady"]} 116 var external_this_wp_domReady_ = __webpack_require__(275); 117 var external_this_wp_domReady_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_domReady_); 118 119 // EXTERNAL MODULE: external {"this":["wp","i18n"]} 120 var external_this_wp_i18n_ = __webpack_require__(1); 121 122 // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-intro-text.js 123 /** 124 * WordPress dependencies 125 */ 126 127 /** 128 * Build the explanatory text to be placed before the aria live regions. 129 * 130 * This text is initially hidden from assistive technologies by using a `hidden` 131 * HTML attribute which is then removed once a message fills the aria-live regions. 132 * 133 * @return {HTMLParagraphElement} The explanatory text HTML element. 134 */ 135 136 function addIntroText() { 137 var introText = document.createElement('p'); 138 introText.id = 'a11y-speak-intro-text'; 139 introText.className = 'a11y-speak-intro-text'; 140 introText.textContent = Object(external_this_wp_i18n_["__"])('Notifications'); 141 introText.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;'); 142 introText.setAttribute('hidden', 'hidden'); 143 var _document = document, 144 body = _document.body; 145 146 if (body) { 147 body.appendChild(introText); 148 } 149 150 return introText; 151 } 152 153 // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/add-container.js 154 /** 155 * Build the live regions markup. 156 * 157 * @param {string} [ariaLive] Value for the 'aria-live' attribute; default: 'polite'. 158 * 159 * @return {HTMLDivElement} The ARIA live region HTML element. 160 */ 161 function addContainer() { 162 var ariaLive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'polite'; 163 var container = document.createElement('div'); 164 container.id = "a11y-speak-".concat(ariaLive); 165 container.className = 'a11y-speak-region'; 166 container.setAttribute('style', 'position: absolute;' + 'margin: -1px;' + 'padding: 0;' + 'height: 1px;' + 'width: 1px;' + 'overflow: hidden;' + 'clip: rect(1px, 1px, 1px, 1px);' + '-webkit-clip-path: inset(50%);' + 'clip-path: inset(50%);' + 'border: 0;' + 'word-wrap: normal !important;'); 167 container.setAttribute('aria-live', ariaLive); 168 container.setAttribute('aria-relevant', 'additions text'); 169 container.setAttribute('aria-atomic', 'true'); 170 var _document = document, 171 body = _document.body; 172 173 if (body) { 174 body.appendChild(container); 175 } 176 177 return container; 178 } 179 180 // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/clear.js 181 /** 182 * Clears the a11y-speak-region elements and hides the explanatory text. 183 */ 184 function clear() { 185 var regions = document.getElementsByClassName('a11y-speak-region'); 186 var introText = document.getElementById('a11y-speak-intro-text'); 187 188 for (var i = 0; i < regions.length; i++) { 189 regions[i].textContent = ''; 190 } // Make sure the explanatory text is hidden from assistive technologies. 191 192 193 if (introText) { 194 introText.setAttribute('hidden', 'hidden'); 195 } 196 } 197 198 // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/filter-message.js 199 var previousMessage = ''; 200 /** 201 * Filter the message to be announced to the screenreader. 202 * 203 * @param {string} message The message to be announced. 204 * 205 * @return {string} The filtered message. 206 */ 207 208 function filterMessage(message) { 209 /* 210 * Strip HTML tags (if any) from the message string. Ideally, messages should 211 * be simple strings, carefully crafted for specific use with A11ySpeak. 212 * When re-using already existing strings this will ensure simple HTML to be 213 * stripped out and replaced with a space. Browsers will collapse multiple 214 * spaces natively. 215 */ 216 message = message.replace(/<[^<>]+>/g, ' '); 217 /* 218 * Safari + VoiceOver don't announce repeated, identical strings. We use 219 * a `no-break space` to force them to think identical strings are different. 220 */ 221 222 if (previousMessage === message) { 223 message += "\xA0"; 224 } 225 226 previousMessage = message; 227 return message; 228 } 229 230 // CONCATENATED MODULE: ./node_modules/@wordpress/a11y/build-module/index.js 231 /** 232 * WordPress dependencies 233 */ 234 235 /** 236 * Internal dependencies 237 */ 238 239 240 241 242 243 /** 244 * Create the live regions. 245 */ 246 247 function setup() { 248 var introText = document.getElementById('a11y-speak-intro-text'); 249 var containerAssertive = document.getElementById('a11y-speak-assertive'); 250 var containerPolite = document.getElementById('a11y-speak-polite'); 251 252 if (introText === null) { 253 addIntroText(); 254 } 255 256 if (containerAssertive === null) { 257 addContainer('assertive'); 258 } 259 260 if (containerPolite === null) { 261 addContainer('polite'); 262 } 263 } 264 /** 265 * Run setup on domReady. 266 */ 267 268 external_this_wp_domReady_default()(setup); 269 /** 270 * Allows you to easily announce dynamic interface updates to screen readers using ARIA live regions. 271 * This module is inspired by the `speak` function in `wp-a11y.js`. 272 * 273 * @param {string} message The message to be announced by assistive technologies. 274 * @param {string} [ariaLive] The politeness level for aria-live; default: 'polite'. 275 * 276 * @example 277 * ```js 278 * import { speak } from '@wordpress/a11y'; 279 * 280 * // For polite messages that shouldn't interrupt what screen readers are currently announcing. 281 * speak( 'The message you want to send to the ARIA live region' ); 282 * 283 * // For assertive messages that should interrupt what screen readers are currently announcing. 284 * speak( 'The message you want to send to the ARIA live region', 'assertive' ); 285 * ``` 286 */ 287 288 function speak(message, ariaLive) { 289 /* 290 * Clear previous messages to allow repeated strings being read out and hide 291 * the explanatory text from assistive technologies. 292 */ 293 clear(); 294 message = filterMessage(message); 295 var introText = document.getElementById('a11y-speak-intro-text'); 296 var containerAssertive = document.getElementById('a11y-speak-assertive'); 297 var containerPolite = document.getElementById('a11y-speak-polite'); 298 299 if (containerAssertive && ariaLive === 'assertive') { 300 containerAssertive.textContent = message; 301 } else if (containerPolite) { 302 containerPolite.textContent = message; 303 } 304 /* 305 * Make the explanatory text available to assistive technologies by removing 306 * the 'hidden' HTML attribute. 307 */ 308 309 310 if (introText) { 311 introText.removeAttribute('hidden'); 312 } 313 } 314 315 316 /***/ }) 317 318 /******/ });
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Mon Jan 18 08:20:02 2021 | Cross-referenced by PHPXref |