diff options
| author | kujiu <kujiu@users.noreply.github.com> | 2018-06-22 21:22:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-22 21:22:21 +0200 |
| commit | 9de1bc0eef6f5bfaa2a8d745431caa361ae91548 (patch) | |
| tree | 342ddbf7fb2b7303606f864ff9f68cbf1bd8814e /addons/web/static/lib | |
| parent | 864357203fc6222cc989b99a5e9f428cd53f413f (diff) | |
[IMP] Improve compatibility with screen readers (accessibility) (#24574)
Today, Odoo is really tricky to use without seeing the screen, it must be improved to be usable.
This PR forbid to use labels without a "for" attribute, add some title, rule and aria attributes in HTML. With that, Odoo will be fully usable with a screen reader.
* [IMP] Labels must have a for attribute. Improve accessibility.
* [IMP] Better error message when trying to read a missing cached value
* [FIX] Add some aria-label and title attributes for screen readers.
* [FIX] Template name is not included in the error message in case of SyntaxError in QWeb
* [FIX] Improve the Tour failed at step error message to be more explicit.
* [IMP] Add aria-labels
* [FIX] Add missing aria-label on failing test
* [IMP] aria-hidden means hidden. Fix all bad aria-hidden and hide aria-hidden for all.
* [IMP] Color names on kanban views and many2many tags
* [IMP] Add some checks on views for accessibility.
* [IMP] Add `alt` attribute on `img` tags.
* [IMP] Add aria-label and title on non-described icons
* [IMP] Add button role to widgets with btn class
* [IMP] Translate aria and formatted attributes.
* [IMP] Remove wrong aria-labelledby
* [IMP] Add menu role on dropdowns
* [IMP] Buttons must be focusable
* [IMP] Add aria attributes on progress bars
* [IMP] Improve accessibility of basic widgets
* [IMP] Change main layout to more semantic tags
* [IMP] Add menuitem role when missing
* [IMP] Remove wrong role='presentation'
* [IMP] Improve accessibility of tab panels
* [IMP] Add aria-invalid on invalid fields
* [IMP] Add aria-sort on ordered columns
* [IMP] Add role on alerts
* [IMP] Use dialog role, header, main and footer tags for modals
* [IMP] Add labels on o_status
* [IMP] Improve accessibility of kanban view with feeds and articles
* [IMP] Add alerts in case of new messages
* [IMP] Add widget, navigation or img role to aria-labelled items
Diffstat (limited to 'addons/web/static/lib')
| -rw-r--r-- | addons/web/static/lib/fontawesome/css/font-awesome-suffix.css | 2145 | ||||
| -rw-r--r-- | addons/web/static/lib/pdfjs/web/ui_utils.js | 6 | ||||
| -rw-r--r-- | addons/web/static/lib/qweb/qweb-test-attributes.xml | 4 | ||||
| -rw-r--r-- | addons/web/static/lib/qweb/qweb2.js | 4 |
4 files changed, 2155 insertions, 4 deletions
diff --git a/addons/web/static/lib/fontawesome/css/font-awesome-suffix.css b/addons/web/static/lib/fontawesome/css/font-awesome-suffix.css new file mode 100644 index 00000000000..f5651cf8e02 --- /dev/null +++ b/addons/web/static/lib/fontawesome/css/font-awesome-suffix.css @@ -0,0 +1,2145 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * Suffix version by Odoo S.A. + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-suffix-glass:after { + content: "\f000"; +} +.fa-suffix-music:after { + content: "\f001"; +} +.fa-suffix-search:after { + content: "\f002"; +} +.fa-suffix-envelope-o:after { + content: "\f003"; +} +.fa-suffix-heart:after { + content: "\f004"; +} +.fa-suffix-star:after { + content: "\f005"; +} +.fa-suffix-star-o:after { + content: "\f006"; +} +.fa-suffix-user:after { + content: "\f007"; +} +.fa-suffix-film:after { + content: "\f008"; +} +.fa-suffix-th-large:after { + content: "\f009"; +} +.fa-suffix-th:after { + content: "\f00a"; +} +.fa-suffix-th-list:after { + content: "\f00b"; +} +.fa-suffix-check:after { + content: "\f00c"; +} +.fa-suffix-remove:after, +.fa-suffix-close:after, +.fa-suffix-times:after { + content: "\f00d"; +} +.fa-suffix-search-plus:after { + content: "\f00e"; +} +.fa-suffix-search-minus:after { + content: "\f010"; +} +.fa-suffix-power-off:after { + content: "\f011"; +} +.fa-suffix-signal:after { + content: "\f012"; +} +.fa-suffix-gear:after, +.fa-suffix-cog:after { + content: "\f013"; +} +.fa-suffix-trash-o:after { + content: "\f014"; +} +.fa-suffix-home:after { + content: "\f015"; +} +.fa-suffix-file-o:after { + content: "\f016"; +} +.fa-suffix-clock-o:after { + content: "\f017"; +} +.fa-suffix-road:after { + content: "\f018"; +} +.fa-suffix-download:after { + content: "\f019"; +} +.fa-suffix-arrow-circle-o-down:after { + content: "\f01a"; +} +.fa-suffix-arrow-circle-o-up:after { + content: "\f01b"; +} +.fa-suffix-inbox:after { + content: "\f01c"; +} +.fa-suffix-play-circle-o:after { + content: "\f01d"; +} +.fa-suffix-rotate-right:after, +.fa-suffix-repeat:after { + content: "\f01e"; +} +.fa-suffix-refresh:after { + content: "\f021"; +} +.fa-suffix-list-alt:after { + content: "\f022"; +} +.fa-suffix-lock:after { + content: "\f023"; +} +.fa-suffix-flag:after { + content: "\f024"; +} +.fa-suffix-headphones:after { + content: "\f025"; +} +.fa-suffix-volume-off:after { + content: "\f026"; +} +.fa-suffix-volume-down:after { + content: "\f027"; +} +.fa-suffix-volume-up:after { + content: "\f028"; +} +.fa-suffix-qrcode:after { + content: "\f029"; +} +.fa-suffix-barcode:after { + content: "\f02a"; +} +.fa-suffix-tag:after { + content: "\f02b"; +} +.fa-suffix-tags:after { + content: "\f02c"; +} +.fa-suffix-book:after { + content: "\f02d"; +} +.fa-suffix-bookmark:after { + content: "\f02e"; +} +.fa-suffix-print:after { + content: "\f02f"; +} +.fa-suffix-camera:after { + content: "\f030"; +} +.fa-suffix-font:after { + content: "\f031"; +} +.fa-suffix-bold:after { + content: "\f032"; +} +.fa-suffix-italic:after { + content: "\f033"; +} +.fa-suffix-text-height:after { + content: "\f034"; +} +.fa-suffix-text-width:after { + content: "\f035"; +} +.fa-suffix-align-left:after { + content: "\f036"; +} +.fa-suffix-align-center:after { + content: "\f037"; +} +.fa-suffix-align-right:after { + content: "\f038"; +} +.fa-suffix-align-justify:after { + content: "\f039"; +} +.fa-suffix-list:after { + content: "\f03a"; +} +.fa-suffix-dedent:after, +.fa-suffix-outdent:after { + content: "\f03b"; +} +.fa-suffix-indent:after { + content: "\f03c"; +} +.fa-suffix-video-camera:after { + content: "\f03d"; +} +.fa-suffix-photo:after, +.fa-suffix-image:after, +.fa-suffix-picture-o:after { + content: "\f03e"; +} +.fa-suffix-pencil:after { + content: "\f040"; +} +.fa-suffix-map-marker:after { + content: "\f041"; +} +.fa-suffix-adjust:after { + content: "\f042"; +} +.fa-suffix-tint:after { + content: "\f043"; +} +.fa-suffix-edit:after, +.fa-suffix-pencil-square-o:after { + content: "\f044"; +} +.fa-suffix-share-square-o:after { + content: "\f045"; +} +.fa-suffix-check-square-o:after { + content: "\f046"; +} +.fa-suffix-arrows:after { + content: "\f047"; +} +.fa-suffix-step-backward:after { + content: "\f048"; +} +.fa-suffix-fast-backward:after { + content: "\f049"; +} +.fa-suffix-backward:after { + content: "\f04a"; +} +.fa-suffix-play:after { + content: "\f04b"; +} +.fa-suffix-pause:after { + content: "\f04c"; +} +.fa-suffix-stop:after { + content: "\f04d"; +} +.fa-suffix-forward:after { + content: "\f04e"; +} +.fa-suffix-fast-forward:after { + content: "\f050"; +} +.fa-suffix-step-forward:after { + content: "\f051"; +} +.fa-suffix-eject:after { + content: "\f052"; +} +.fa-suffix-chevron-left:after { + content: "\f053"; +} +.fa-suffix-chevron-right:after { + content: "\f054"; +} +.fa-suffix-plus-circle:after { + content: "\f055"; +} +.fa-suffix-minus-circle:after { + content: "\f056"; +} +.fa-suffix-times-circle:after { + content: "\f057"; +} +.fa-suffix-check-circle:after { + content: "\f058"; +} +.fa-suffix-question-circle:after { + content: "\f059"; +} +.fa-suffix-info-circle:after { + content: "\f05a"; +} +.fa-suffix-crosshairs:after { + content: "\f05b"; +} +.fa-suffix-times-circle-o:after { + content: "\f05c"; +} +.fa-suffix-check-circle-o:after { + content: "\f05d"; +} +.fa-suffix-ban:after { + content: "\f05e"; +} +.fa-suffix-arrow-left:after { + content: "\f060"; +} +.fa-suffix-arrow-right:after { + content: "\f061"; +} +.fa-suffix-arrow-up:after { + content: "\f062"; +} +.fa-suffix-arrow-down:after { + content: "\f063"; +} +.fa-suffix-mail-forward:after, +.fa-suffix-share:after { + content: "\f064"; +} +.fa-suffix-expand:after { + content: "\f065"; +} +.fa-suffix-compress:after { + content: "\f066"; +} +.fa-suffix-plus:after { + content: "\f067"; +} +.fa-suffix-minus:after { + content: "\f068"; +} +.fa-suffix-asterisk:after { + content: "\f069"; +} +.fa-suffix-exclamation-circle:after { + content: "\f06a"; +} +.fa-suffix-gift:after { + content: "\f06b"; +} +.fa-suffix-leaf:after { + content: "\f06c"; +} +.fa-suffix-fire:after { + content: "\f06d"; +} +.fa-suffix-eye:after { + content: "\f06e"; +} +.fa-suffix-eye-slash:after { + content: "\f070"; +} +.fa-suffix-warning:after, +.fa-suffix-exclamation-triangle:after { + content: "\f071"; +} +.fa-suffix-plane:after { + content: "\f072"; +} +.fa-suffix-calendar:after { + content: "\f073"; +} +.fa-suffix-random:after { + content: "\f074"; +} +.fa-suffix-comment:after { + content: "\f075"; +} +.fa-suffix-magnet:after { + content: "\f076"; +} +.fa-suffix-chevron-up:after { + content: "\f077"; +} +.fa-suffix-chevron-down:after { + content: "\f078"; +} +.fa-suffix-retweet:after { + content: "\f079"; +} +.fa-suffix-shopping-cart:after { + content: "\f07a"; +} +.fa-suffix-folder:after { + content: "\f07b"; +} +.fa-suffix-folder-open:after { + content: "\f07c"; +} +.fa-suffix-arrows-v:after { + content: "\f07d"; +} +.fa-suffix-arrows-h:after { + content: "\f07e"; +} +.fa-suffix-bar-chart-o:after, +.fa-suffix-bar-chart:after { + content: "\f080"; +} +.fa-suffix-twitter-square:after { + content: "\f081"; +} +.fa-suffix-facebook-square:after { + content: "\f082"; +} +.fa-suffix-camera-retro:after { + content: "\f083"; +} +.fa-suffix-key:after { + content: "\f084"; +} +.fa-suffix-gears:after, +.fa-suffix-cogs:after { + content: "\f085"; +} +.fa-suffix-comments:after { + content: "\f086"; +} +.fa-suffix-thumbs-o-up:after { + content: "\f087"; +} +.fa-suffix-thumbs-o-down:after { + content: "\f088"; +} +.fa-suffix-star-half:after { + content: "\f089"; +} +.fa-suffix-heart-o:after { + content: "\f08a"; +} +.fa-suffix-sign-out:after { + content: "\f08b"; +} +.fa-suffix-linkedin-square:after { + content: "\f08c"; +} +.fa-suffix-thumb-tack:after { + content: "\f08d"; +} +.fa-suffix-external-link:after { + content: "\f08e"; +} +.fa-suffix-sign-in:after { + content: "\f090"; +} +.fa-suffix-trophy:after { + content: "\f091"; +} +.fa-suffix-github-square:after { + content: "\f092"; +} +.fa-suffix-upload:after { + content: "\f093"; +} +.fa-suffix-lemon-o:after { + content: "\f094"; +} +.fa-suffix-phone:after { + content: "\f095"; +} +.fa-suffix-square-o:after { + content: "\f096"; +} +.fa-suffix-bookmark-o:after { + content: "\f097"; +} +.fa-suffix-phone-square:after { + content: "\f098"; +} +.fa-suffix-twitter:after { + content: "\f099"; +} +.fa-suffix-facebook-f:after, +.fa-suffix-facebook:after { + content: "\f09a"; +} +.fa-suffix-github:after { + content: "\f09b"; +} +.fa-suffix-unlock:after { + content: "\f09c"; +} +.fa-suffix-credit-card:after { + content: "\f09d"; +} +.fa-suffix-feed:after, +.fa-suffix-rss:after { + content: "\f09e"; +} +.fa-suffix-hdd-o:after { + content: "\f0a0"; +} +.fa-suffix-bullhorn:after { + content: "\f0a1"; +} +.fa-suffix-bell:after { + content: "\f0f3"; +} +.fa-suffix-certificate:after { + content: "\f0a3"; +} +.fa-suffix-hand-o-right:after { + content: "\f0a4"; +} +.fa-suffix-hand-o-left:after { + content: "\f0a5"; +} +.fa-suffix-hand-o-up:after { + content: "\f0a6"; +} +.fa-suffix-hand-o-down:after { + content: "\f0a7"; +} +.fa-suffix-arrow-circle-left:after { + content: "\f0a8"; +} +.fa-suffix-arrow-circle-right:after { + content: "\f0a9"; +} +.fa-suffix-arrow-circle-up:after { + content: "\f0aa"; +} +.fa-suffix-arrow-circle-down:after { + content: "\f0ab"; +} +.fa-suffix-globe:after { + content: "\f0ac"; +} +.fa-suffix-wrench:after { + content: "\f0ad"; +} +.fa-suffix-tasks:after { + content: "\f0ae"; +} +.fa-suffix-filter:after { + content: "\f0b0"; +} +.fa-suffix-briefcase:after { + content: "\f0b1"; +} +.fa-suffix-arrows-alt:after { + content: "\f0b2"; +} +.fa-suffix-group:after, +.fa-suffix-users:after { + content: "\f0c0"; +} +.fa-suffix-chain:after, +.fa-suffix-link:after { + content: "\f0c1"; +} +.fa-suffix-cloud:after { + content: "\f0c2"; +} +.fa-suffix-flask:after { + content: "\f0c3"; +} +.fa-suffix-cut:after, +.fa-suffix-scissors:after { + content: "\f0c4"; +} +.fa-suffix-copy:after, +.fa-suffix-files-o:after { + content: "\f0c5"; +} +.fa-suffix-paperclip:after { + content: "\f0c6"; +} +.fa-suffix-save:after, +.fa-suffix-floppy-o:after { + content: "\f0c7"; +} +.fa-suffix-square:after { + content: "\f0c8"; +} +.fa-suffix-navicon:after, +.fa-suffix-reorder:after, +.fa-suffix-bars:after { + content: "\f0c9"; +} +.fa-suffix-list-ul:after { + content: "\f0ca"; +} +.fa-suffix-list-ol:after { + content: "\f0cb"; +} +.fa-suffix-strikethrough:after { + content: "\f0cc"; +} +.fa-suffix-underline:after { + content: "\f0cd"; +} +.fa-suffix-table:after { + content: "\f0ce"; +} +.fa-suffix-magic:after { + content: "\f0d0"; +} +.fa-suffix-truck:after { + content: "\f0d1"; +} +.fa-suffix-pinterest:after { + content: "\f0d2"; +} +.fa-suffix-pinterest-square:after { + content: "\f0d3"; +} +.fa-suffix-google-plus-square:after { + content: "\f0d4"; +} +.fa-suffix-google-plus:after { + content: "\f0d5"; +} +.fa-suffix-money:after { + content: "\f0d6"; +} +.fa-suffix-caret-down:after { + content: "\f0d7"; +} +.fa-suffix-caret-up:after { + content: "\f0d8"; +} +.fa-suffix-caret-left:after { + content: "\f0d9"; +} +.fa-suffix-caret-right:after { + content: "\f0da"; +} +.fa-suffix-columns:after { + content: "\f0db"; +} +.fa-suffix-unsorted:after, +.fa-suffix-sort:after { + content: "\f0dc"; +} +.fa-suffix-sort-down:after, +.fa-suffix-sort-desc:after { + content: "\f0dd"; +} +.fa-suffix-sort-up:after, +.fa-suffix-sort-asc:after { + content: "\f0de"; +} +.fa-suffix-envelope:after { + content: "\f0e0"; +} +.fa-suffix-linkedin:after { + content: "\f0e1"; +} +.fa-suffix-rotate-left:after, +.fa-suffix-undo:after { + content: "\f0e2"; +} +.fa-suffix-legal:after, +.fa-suffix-gavel:after { + content: "\f0e3"; +} +.fa-suffix-dashboard:after, +.fa-suffix-tachometer:after { + content: "\f0e4"; +} +.fa-suffix-comment-o:after { + content: "\f0e5"; +} +.fa-suffix-comments-o:after { + content: "\f0e6"; +} +.fa-suffix-flash:after, +.fa-suffix-bolt:after { + content: "\f0e7"; +} +.fa-suffix-sitemap:after { + content: "\f0e8"; +} +.fa-suffix-umbrella:after { + content: "\f0e9"; +} +.fa-suffix-paste:after, +.fa-suffix-clipboard:after { + content: "\f0ea"; +} +.fa-suffix-lightbulb-o:after { + content: "\f0eb"; +} +.fa-suffix-exchange:after { + content: "\f0ec"; +} +.fa-suffix-cloud-download:after { + content: "\f0ed"; +} +.fa-suffix-cloud-upload:after { + content: "\f0ee"; +} +.fa-suffix-user-md:after { + content: "\f0f0"; +} +.fa-suffix-stethoscope:after { + content: "\f0f1"; +} +.fa-suffix-suitcase:after { + content: "\f0f2"; +} +.fa-suffix-bell-o:after { + content: "\f0a2"; +} +.fa-suffix-coffee:after { + content: "\f0f4"; +} +.fa-suffix-cutlery:after { + content: "\f0f5"; +} +.fa-suffix-file-text-o:after { + content: "\f0f6"; +} +.fa-suffix-building-o:after { + content: "\f0f7"; +} +.fa-suffix-hospital-o:after { + content: "\f0f8"; +} +.fa-suffix-ambulance:after { + content: "\f0f9"; +} +.fa-suffix-medkit:after { + content: "\f0fa"; +} +.fa-suffix-fighter-jet:after { + content: "\f0fb"; +} +.fa-suffix-beer:after { + content: "\f0fc"; +} +.fa-suffix-h-square:after { + content: "\f0fd"; +} +.fa-suffix-plus-square:after { + content: "\f0fe"; +} +.fa-suffix-angle-double-left:after { + content: "\f100"; +} +.fa-suffix-angle-double-right:after { + content: "\f101"; +} +.fa-suffix-angle-double-up:after { + content: "\f102"; +} +.fa-suffix-angle-double-down:after { + content: "\f103"; +} +.fa-suffix-angle-left:after { + content: "\f104"; +} +.fa-suffix-angle-right:after { + content: "\f105"; +} +.fa-suffix-angle-up:after { + content: "\f106"; +} +.fa-suffix-angle-down:after { + content: "\f107"; +} +.fa-suffix-desktop:after { + content: "\f108"; +} +.fa-suffix-laptop:after { + content: "\f109"; +} +.fa-suffix-tablet:after { + content: "\f10a"; +} +.fa-suffix-mobile-phone:after, +.fa-suffix-mobile:after { + content: "\f10b"; +} +.fa-suffix-circle-o:after { + content: "\f10c"; +} +.fa-suffix-quote-left:after { + content: "\f10d"; +} +.fa-suffix-quote-right:after { + content: "\f10e"; +} +.fa-suffix-spinner:after { + content: "\f110"; +} +.fa-suffix-circle:after { + content: "\f111"; +} +.fa-suffix-mail-reply:after, +.fa-suffix-reply:after { + content: "\f112"; +} +.fa-suffix-github-alt:after { + content: "\f113"; +} +.fa-suffix-folder-o:after { + content: "\f114"; +} +.fa-suffix-folder-open-o:after { + content: "\f115"; +} +.fa-suffix-smile-o:after { + content: "\f118"; +} +.fa-suffix-frown-o:after { + content: "\f119"; +} +.fa-suffix-meh-o:after { + content: "\f11a"; +} +.fa-suffix-gamepad:after { + content: "\f11b"; +} +.fa-suffix-keyboard-o:after { + content: "\f11c"; +} +.fa-suffix-flag-o:after { + content: "\f11d"; +} +.fa-suffix-flag-checkered:after { + content: "\f11e"; +} +.fa-suffix-terminal:after { + content: "\f120"; +} +.fa-suffix-code:after { + content: "\f121"; +} +.fa-suffix-mail-reply-all:after, +.fa-suffix-reply-all:after { + content: "\f122"; +} +.fa-suffix-star-half-empty:after, +.fa-suffix-star-half-full:after, +.fa-suffix-star-half-o:after { + content: "\f123"; +} +.fa-suffix-location-arrow:after { + content: "\f124"; +} +.fa-suffix-crop:after { + content: "\f125"; +} +.fa-suffix-code-fork:after { + content: "\f126"; +} +.fa-suffix-unlink:after, +.fa-suffix-chain-broken:after { + content: "\f127"; +} +.fa-suffix-question:after { + content: "\f128"; +} +.fa-suffix-info:after { + content: "\f129"; +} +.fa-suffix-exclamation:after { + content: "\f12a"; +} +.fa-suffix-superscript:after { + content: "\f12b"; +} +.fa-suffix-subscript:after { + content: "\f12c"; +} +.fa-suffix-eraser:after { + content: "\f12d"; +} +.fa-suffix-puzzle-piece:after { + content: "\f12e"; +} +.fa-suffix-microphone:after { + content: "\f130"; +} +.fa-suffix-microphone-slash:after { + content: "\f131"; +} +.fa-suffix-shield:after { + content: "\f132"; +} +.fa-suffix-calendar-o:after { + content: "\f133"; +} +.fa-suffix-fire-extinguisher:after { + content: "\f134"; +} +.fa-suffix-rocket:after { + content: "\f135"; +} +.fa-suffix-maxcdn:after { + content: "\f136"; +} +.fa-suffix-chevron-circle-left:after { + content: "\f137"; +} +.fa-suffix-chevron-circle-right:after { + content: "\f138"; +} +.fa-suffix-chevron-circle-up:after { + content: "\f139"; +} +.fa-suffix-chevron-circle-down:after { + content: "\f13a"; +} +.fa-suffix-html5:after { + content: "\f13b"; +} +.fa-suffix-css3:after { + content: "\f13c"; +} +.fa-suffix-anchor:after { + content: "\f13d"; +} +.fa-suffix-unlock-alt:after { + content: "\f13e"; +} +.fa-suffix-bullseye:after { + content: "\f140"; +} +.fa-suffix-ellipsis-h:after { + content: "\f141"; +} +.fa-suffix-ellipsis-v:after { + content: "\f142"; +} +.fa-suffix-rss-square:after { + content: "\f143"; +} +.fa-suffix-play-circle:after { + content: "\f144"; +} +.fa-suffix-ticket:after { + content: "\f145"; +} +.fa-suffix-minus-square:after { + content: "\f146"; +} +.fa-suffix-minus-square-o:after { + content: "\f147"; +} +.fa-suffix-level-up:after { + content: "\f148"; +} +.fa-suffix-level-down:after { + content: "\f149"; +} +.fa-suffix-check-square:after { + content: "\f14a"; +} +.fa-suffix-pencil-square:after { + content: "\f14b"; +} +.fa-suffix-external-link-square:after { + content: "\f14c"; +} +.fa-suffix-share-square:after { + content: "\f14d"; +} +.fa-suffix-compass:after { + content: "\f14e"; +} +.fa-suffix-toggle-down:after, +.fa-suffix-caret-square-o-down:after { + content: "\f150"; +} +.fa-suffix-toggle-up:after, +.fa-suffix-caret-square-o-up:after { + content: "\f151"; +} +.fa-suffix-toggle-right:after, +.fa-suffix-caret-square-o-right:after { + content: "\f152"; +} +.fa-suffix-euro:after, +.fa-suffix-eur:after { + content: "\f153"; +} +.fa-suffix-gbp:after { + content: "\f154"; +} +.fa-suffix-dollar:after, +.fa-suffix-usd:after { + content: "\f155"; +} +.fa-suffix-rupee:after, +.fa-suffix-inr:after { + content: "\f156"; +} +.fa-suffix-cny:after, +.fa-suffix-rmb:after, +.fa-suffix-yen:after, +.fa-suffix-jpy:after { + content: "\f157"; +} +.fa-suffix-ruble:after, +.fa-suffix-rouble:after, +.fa-suffix-rub:after { + content: "\f158"; +} +.fa-suffix-won:after, +.fa-suffix-krw:after { + content: "\f159"; +} +.fa-suffix-bitcoin:after, +.fa-suffix-btc:after { + content: "\f15a"; +} +.fa-suffix-file:after { + content: "\f15b"; +} +.fa-suffix-file-text:after { + content: "\f15c"; +} +.fa-suffix-sort-alpha-asc:after { + content: "\f15d"; +} +.fa-suffix-sort-alpha-desc:after { + content: "\f15e"; +} +.fa-suffix-sort-amount-asc:after { + content: "\f160"; +} +.fa-suffix-sort-amount-desc:after { + content: "\f161"; +} +.fa-suffix-sort-numeric-asc:after { + content: "\f162"; +} +.fa-suffix-sort-numeric-desc:after { + content: "\f163"; +} +.fa-suffix-thumbs-up:after { + content: "\f164"; +} +.fa-suffix-thumbs-down:after { + content: "\f165"; +} +.fa-suffix-youtube-square:after { + content: "\f166"; +} +.fa-suffix-youtube:after { + content: "\f167"; +} +.fa-suffix-xing:after { + content: "\f168"; +} +.fa-suffix-xing-square:after { + content: "\f169"; +} +.fa-suffix-youtube-play:after { + content: "\f16a"; +} +.fa-suffix-dropbox:after { + content: "\f16b"; +} +.fa-suffix-stack-overflow:after { + content: "\f16c"; +} +.fa-suffix-instagram:after { + content: "\f16d"; +} +.fa-suffix-flickr:after { + content: "\f16e"; +} +.fa-suffix-adn:after { + content: "\f170"; +} +.fa-suffix-bitbucket:after { + content: "\f171"; +} +.fa-suffix-bitbucket-square:after { + content: "\f172"; +} +.fa-suffix-tumblr:after { + content: "\f173"; +} +.fa-suffix-tumblr-square:after { + content: "\f174"; +} +.fa-suffix-long-arrow-down:after { + content: "\f175"; +} +.fa-suffix-long-arrow-up:after { + content: "\f176"; +} +.fa-suffix-long-arrow-left:after { + content: "\f177"; +} +.fa-suffix-long-arrow-right:after { + content: "\f178"; +} +.fa-suffix-apple:after { + content: "\f179"; +} +.fa-suffix-windows:after { + content: "\f17a"; +} +.fa-suffix-android:after { + content: "\f17b"; +} +.fa-suffix-linux:after { + content: "\f17c"; +} +.fa-suffix-dribbble:after { + content: "\f17d"; +} +.fa-suffix-skype:after { + content: "\f17e"; +} +.fa-suffix-foursquare:after { + content: "\f180"; +} +.fa-suffix-trello:after { + content: "\f181"; +} +.fa-suffix-female:after { + content: "\f182"; +} +.fa-suffix-male:after { + content: "\f183"; +} +.fa-suffix-gittip:after, +.fa-suffix-gratipay:after { + content: "\f184"; +} +.fa-suffix-sun-o:after { + content: "\f185"; +} +.fa-suffix-moon-o:after { + content: "\f186"; +} +.fa-suffix-archive:after { + content: "\f187"; +} +.fa-suffix-bug:after { + content: "\f188"; +} +.fa-suffix-vk:after { + content: "\f189"; +} +.fa-suffix-weibo:after { + content: "\f18a"; +} +.fa-suffix-renren:after { + content: "\f18b"; +} +.fa-suffix-pagelines:after { + content: "\f18c"; +} +.fa-suffix-stack-exchange:after { + content: "\f18d"; +} +.fa-suffix-arrow-circle-o-right:after { + content: "\f18e"; +} +.fa-suffix-arrow-circle-o-left:after { + content: "\f190"; +} +.fa-suffix-toggle-left:after, +.fa-suffix-caret-square-o-left:after { + content: "\f191"; +} +.fa-suffix-dot-circle-o:after { + content: "\f192"; +} +.fa-suffix-wheelchair:after { + content: "\f193"; +} +.fa-suffix-vimeo-square:after { + content: "\f194"; +} +.fa-suffix-turkish-lira:after, +.fa-suffix-try:after { + content: "\f195"; +} +.fa-suffix-plus-square-o:after { + content: "\f196"; +} +.fa-suffix-space-shuttle:after { + content: "\f197"; +} +.fa-suffix-slack:after { + content: "\f198"; +} +.fa-suffix-envelope-square:after { + content: "\f199"; +} +.fa-suffix-wordpress:after { + content: "\f19a"; +} +.fa-suffix-openid:after { + content: "\f19b"; +} +.fa-suffix-institution:after, +.fa-suffix-bank:after, +.fa-suffix-university:after { + content: "\f19c"; +} +.fa-suffix-mortar-board:after, +.fa-suffix-graduation-cap:after { + content: "\f19d"; +} +.fa-suffix-yahoo:after { + content: "\f19e"; +} +.fa-suffix-google:after { + content: "\f1a0"; +} +.fa-suffix-reddit:after { + content: "\f1a1"; +} +.fa-suffix-reddit-square:after { + content: "\f1a2"; +} +.fa-suffix-stumbleupon-circle:after { + content: "\f1a3"; +} +.fa-suffix-stumbleupon:after { + content: "\f1a4"; +} +.fa-suffix-delicious:after { + content: "\f1a5"; +} +.fa-suffix-digg:after { + content: "\f1a6"; +} +.fa-suffix-pied-piper-pp:after { + content: "\f1a7"; +} +.fa-suffix-pied-piper-alt:after { + content: "\f1a8"; +} +.fa-suffix-drupal:after { + content: "\f1a9"; +} +.fa-suffix-joomla:after { + content: "\f1aa"; +} +.fa-suffix-language:after { + content: "\f1ab"; +} +.fa-suffix-fax:after { + content: "\f1ac"; +} +.fa-suffix-building:after { + content: "\f1ad"; +} +.fa-suffix-child:after { + content: "\f1ae"; +} +.fa-suffix-paw:after { + content: "\f1b0"; +} +.fa-suffix-spoon:after { + content: "\f1b1"; +} +.fa-suffix-cube:after { + content: "\f1b2"; +} +.fa-suffix-cubes:after { + content: "\f1b3"; +} +.fa-suffix-behance:after { + content: "\f1b4"; +} +.fa-suffix-behance-square:after { + content: "\f1b5"; +} +.fa-suffix-steam:after { + content: "\f1b6"; +} +.fa-suffix-steam-square:after { + content: "\f1b7"; +} +.fa-suffix-recycle:after { + content: "\f1b8"; +} +.fa-suffix-automobile:after, +.fa-suffix-car:after { + content: "\f1b9"; +} +.fa-suffix-cab:after, +.fa-suffix-taxi:after { + content: "\f1ba"; +} +.fa-suffix-tree:after { + content: "\f1bb"; +} +.fa-suffix-spotify:after { + content: "\f1bc"; +} +.fa-suffix-deviantart:after { + content: "\f1bd"; +} +.fa-suffix-soundcloud:after { + content: "\f1be"; +} +.fa-suffix-database:after { + content: "\f1c0"; +} +.fa-suffix-file-pdf-o:after { + content: "\f1c1"; +} +.fa-suffix-file-word-o:after { + content: "\f1c2"; +} +.fa-suffix-file-excel-o:after { + content: "\f1c3"; +} +.fa-suffix-file-powerpoint-o:after { + content: "\f1c4"; +} +.fa-suffix-file-photo-o:after, +.fa-suffix-file-picture-o:after, +.fa-suffix-file-image-o:after { + content: "\f1c5"; +} +.fa-suffix-file-zip-o:after, +.fa-suffix-file-archive-o:after { + content: "\f1c6"; +} +.fa-suffix-file-sound-o:after, +.fa-suffix-file-audio-o:after { + content: "\f1c7"; +} +.fa-suffix-file-movie-o:after, +.fa-suffix-file-video-o:after { + content: "\f1c8"; +} +.fa-suffix-file-code-o:after { + content: "\f1c9"; +} +.fa-suffix-vine:after { + content: "\f1ca"; +} +.fa-suffix-codepen:after { + content: "\f1cb"; +} +.fa-suffix-jsfiddle:after { + content: "\f1cc"; +} +.fa-suffix-life-bouy:after, +.fa-suffix-life-buoy:after, +.fa-suffix-life-saver:after, +.fa-suffix-support:after, +.fa-suffix-life-ring:after { + content: "\f1cd"; +} +.fa-suffix-circle-o-notch:after { + content: "\f1ce"; +} +.fa-suffix-ra:after, +.fa-suffix-resistance:after, +.fa-suffix-rebel:after { + content: "\f1d0"; +} +.fa-suffix-ge:after, +.fa-suffix-empire:after { + content: "\f1d1"; +} +.fa-suffix-git-square:after { + content: "\f1d2"; +} +.fa-suffix-git:after { + content: "\f1d3"; +} +.fa-suffix-y-combinator-square:after, +.fa-suffix-yc-square:after, +.fa-suffix-hacker-news:after { + content: "\f1d4"; +} +.fa-suffix-tencent-weibo:after { + content: "\f1d5"; +} +.fa-suffix-qq:after { + content: "\f1d6"; +} +.fa-suffix-wechat:after, +.fa-suffix-weixin:after { + content: "\f1d7"; +} +.fa-suffix-send:after, +.fa-suffix-paper-plane:after { + content: "\f1d8"; +} +.fa-suffix-send-o:after, +.fa-suffix-paper-plane-o:after { + content: "\f1d9"; +} +.fa-suffix-history:after { + content: "\f1da"; +} +.fa-suffix-circle-thin:after { + content: "\f1db"; +} +.fa-suffix-header:after { + content: "\f1dc"; +} +.fa-suffix-paragraph:after { + content: "\f1dd"; +} +.fa-suffix-sliders:after { + content: "\f1de"; +} +.fa-suffix-share-alt:after { + content: "\f1e0"; +} +.fa-suffix-share-alt-square:after { + content: "\f1e1"; +} +.fa-suffix-bomb:after { + content: "\f1e2"; +} +.fa-suffix-soccer-ball-o:after, +.fa-suffix-futbol-o:after { + content: "\f1e3"; +} +.fa-suffix-tty:after { + content: "\f1e4"; +} +.fa-suffix-binoculars:after { + content: "\f1e5"; +} +.fa-suffix-plug:after { + content: "\f1e6"; +} +.fa-suffix-slideshare:after { + content: "\f1e7"; +} +.fa-suffix-twitch:after { + content: "\f1e8"; +} +.fa-suffix-yelp:after { + content: "\f1e9"; +} +.fa-suffix-newspaper-o:after { + content: "\f1ea"; +} +.fa-suffix-wifi:after { + content: "\f1eb"; +} +.fa-suffix-calculator:after { + content: "\f1ec"; +} +.fa-suffix-paypal:after { + content: "\f1ed"; +} +.fa-suffix-google-wallet:after { + content: "\f1ee"; +} +.fa-suffix-cc-visa:after { + content: "\f1f0"; +} +.fa-suffix-cc-mastercard:after { + content: "\f1f1"; +} +.fa-suffix-cc-discover:after { + content: "\f1f2"; +} +.fa-suffix-cc-amex:after { + content: "\f1f3"; +} +.fa-suffix-cc-paypal:after { + content: "\f1f4"; +} +.fa-suffix-cc-stripe:after { + content: "\f1f5"; +} +.fa-suffix-bell-slash:after { + content: "\f1f6"; +} +.fa-suffix-bell-slash-o:after { + content: "\f1f7"; +} +.fa-suffix-trash:after { + content: "\f1f8"; +} +.fa-suffix-copyright:after { + content: "\f1f9"; +} +.fa-suffix-at:after { + content: "\f1fa"; +} +.fa-suffix-eyedropper:after { + content: "\f1fb"; +} +.fa-suffix-paint-brush:after { + content: "\f1fc"; +} +.fa-suffix-birthday-cake:after { + content: "\f1fd"; +} +.fa-suffix-area-chart:after { + content: "\f1fe"; +} +.fa-suffix-pie-chart:after { + content: "\f200"; +} +.fa-suffix-line-chart:after { + content: "\f201"; +} +.fa-suffix-lastfm:after { + content: "\f202"; +} +.fa-suffix-lastfm-square:after { + content: "\f203"; +} +.fa-suffix-toggle-off:after { + content: "\f204"; +} +.fa-suffix-toggle-on:after { + content: "\f205"; +} +.fa-suffix-bicycle:after { + content: "\f206"; +} +.fa-suffix-bus:after { + content: "\f207"; +} +.fa-suffix-ioxhost:after { + content: "\f208"; +} +.fa-suffix-angellist:after { + content: "\f209"; +} +.fa-suffix-cc:after { + content: "\f20a"; +} +.fa-suffix-shekel:after, +.fa-suffix-sheqel:after, +.fa-suffix-ils:after { + content: "\f20b"; +} +.fa-suffix-meanpath:after { + content: "\f20c"; +} +.fa-suffix-buysellads:after { + content: "\f20d"; +} +.fa-suffix-connectdevelop:after { + content: "\f20e"; +} +.fa-suffix-dashcube:after { + content: "\f210"; +} +.fa-suffix-forumbee:after { + content: "\f211"; +} +.fa-suffix-leanpub:after { + content: "\f212"; +} +.fa-suffix-sellsy:after { + content: "\f213"; +} +.fa-suffix-shirtsinbulk:after { + content: "\f214"; +} +.fa-suffix-simplybuilt:after { + content: "\f215"; +} +.fa-suffix-skyatlas:after { + content: "\f216"; +} +.fa-suffix-cart-plus:after { + content: "\f217"; +} +.fa-suffix-cart-arrow-down:after { + content: "\f218"; +} +.fa-suffix-diamond:after { + content: "\f219"; +} +.fa-suffix-ship:after { + content: "\f21a"; +} +.fa-suffix-user-secret:after { + content: "\f21b"; +} +.fa-suffix-motorcycle:after { + content: "\f21c"; +} +.fa-suffix-street-view:after { + content: "\f21d"; +} +.fa-suffix-heartbeat:after { + content: "\f21e"; +} +.fa-suffix-venus:after { + content: "\f221"; +} +.fa-suffix-mars:after { + content: "\f222"; +} +.fa-suffix-mercury:after { + content: "\f223"; +} +.fa-suffix-intersex:after, +.fa-suffix-transgender:after { + content: "\f224"; +} +.fa-suffix-transgender-alt:after { + content: "\f225"; +} +.fa-suffix-venus-double:after { + content: "\f226"; +} +.fa-suffix-mars-double:after { + content: "\f227"; +} +.fa-suffix-venus-mars:after { + content: "\f228"; +} +.fa-suffix-mars-stroke:after { + content: "\f229"; +} +.fa-suffix-mars-stroke-v:after { + content: "\f22a"; +} +.fa-suffix-mars-stroke-h:after { + content: "\f22b"; +} +.fa-suffix-neuter:after { + content: "\f22c"; +} +.fa-suffix-genderless:after { + content: "\f22d"; +} +.fa-suffix-facebook-official:after { + content: "\f230"; +} +.fa-suffix-pinterest-p:after { + content: "\f231"; +} +.fa-suffix-whatsapp:after { + content: "\f232"; +} +.fa-suffix-server:after { + content: "\f233"; +} +.fa-suffix-user-plus:after { + content: "\f234"; +} +.fa-suffix-user-times:after { + content: "\f235"; +} +.fa-suffix-hotel:after, +.fa-suffix-bed:after { + content: "\f236"; +} +.fa-suffix-viacoin:after { + content: "\f237"; +} +.fa-suffix-train:after { + content: "\f238"; +} +.fa-suffix-subway:after { + content: "\f239"; +} +.fa-suffix-medium:after { + content: "\f23a"; +} +.fa-suffix-yc:after, +.fa-suffix-y-combinator:after { + content: "\f23b"; +} +.fa-suffix-optin-monster:after { + content: "\f23c"; +} +.fa-suffix-opencart:after { + content: "\f23d"; +} +.fa-suffix-expeditedssl:after { + content: "\f23e"; +} +.fa-suffix-battery-4:after, +.fa-suffix-battery:after, +.fa-suffix-battery-full:after { + content: "\f240"; +} +.fa-suffix-battery-3:after, +.fa-suffix-battery-three-quarters:after { + content: "\f241"; +} +.fa-suffix-battery-2:after, +.fa-suffix-battery-half:after { + content: "\f242"; +} +.fa-suffix-battery-1:after, +.fa-suffix-battery-quarter:after { + content: "\f243"; +} +.fa-suffix-battery-0:after, +.fa-suffix-battery-empty:after { + content: "\f244"; +} +.fa-suffix-mouse-pointer:after { + content: "\f245"; +} +.fa-suffix-i-cursor:after { + content: "\f246"; +} +.fa-suffix-object-group:after { + content: "\f247"; +} +.fa-suffix-object-ungroup:after { + content: "\f248"; +} +.fa-suffix-sticky-note:after { + content: "\f249"; +} +.fa-suffix-sticky-note-o:after { + content: "\f24a"; +} +.fa-suffix-cc-jcb:after { + content: "\f24b"; +} +.fa-suffix-cc-diners-club:after { + content: "\f24c"; +} +.fa-suffix-clone:after { + content: "\f24d"; +} +.fa-suffix-balance-scale:after { + content: "\f24e"; +} +.fa-suffix-hourglass-o:after { + content: "\f250"; +} +.fa-suffix-hourglass-1:after, +.fa-suffix-hourglass-start:after { + content: "\f251"; +} +.fa-suffix-hourglass-2:after, +.fa-suffix-hourglass-half:after { + content: "\f252"; +} +.fa-suffix-hourglass-3:after, +.fa-suffix-hourglass-end:after { + content: "\f253"; +} +.fa-suffix-hourglass:after { + content: "\f254"; +} +.fa-suffix-hand-grab-o:after, +.fa-suffix-hand-rock-o:after { + content: "\f255"; +} +.fa-suffix-hand-stop-o:after, +.fa-suffix-hand-paper-o:after { + content: "\f256"; +} +.fa-suffix-hand-scissors-o:after { + content: "\f257"; +} +.fa-suffix-hand-lizard-o:after { + content: "\f258"; +} +.fa-suffix-hand-spock-o:after { + content: "\f259"; +} +.fa-suffix-hand-pointer-o:after { + content: "\f25a"; +} +.fa-suffix-hand-peace-o:after { + content: "\f25b"; +} +.fa-suffix-trademark:after { + content: "\f25c"; +} +.fa-suffix-registered:after { + content: "\f25d"; +} +.fa-suffix-creative-commons:after { + content: "\f25e"; +} +.fa-suffix-gg:after { + content: "\f260"; +} +.fa-suffix-gg-circle:after { + content: "\f261"; +} +.fa-suffix-tripadvisor:after { + content: "\f262"; +} +.fa-suffix-odnoklassniki:after { + content: "\f263"; +} +.fa-suffix-odnoklassniki-square:after { + content: "\f264"; +} +.fa-suffix-get-pocket:after { + content: "\f265"; +} +.fa-suffix-wikipedia-w:after { + content: "\f266"; +} +.fa-suffix-safari:after { + content: "\f267"; +} +.fa-suffix-chrome:after { + content: "\f268"; +} +.fa-suffix-firefox:after { + content: "\f269"; +} +.fa-suffix-opera:after { + content: "\f26a"; +} +.fa-suffix-internet-explorer:after { + content: "\f26b"; +} +.fa-suffix-tv:after, +.fa-suffix-television:after { + content: "\f26c"; +} +.fa-suffix-contao:after { + content: "\f26d"; +} +.fa-suffix-500px:after { + content: "\f26e"; +} +.fa-suffix-amazon:after { + content: "\f270"; +} +.fa-suffix-calendar-plus-o:after { + content: "\f271"; +} +.fa-suffix-calendar-minus-o:after { + content: "\f272"; +} +.fa-suffix-calendar-times-o:after { + content: "\f273"; +} +.fa-suffix-calendar-check-o:after { + content: "\f274"; +} +.fa-suffix-industry:after { + content: "\f275"; +} +.fa-suffix-map-pin:after { + content: "\f276"; +} +.fa-suffix-map-signs:after { + content: "\f277"; +} +.fa-suffix-map-o:after { + content: "\f278"; +} +.fa-suffix-map:after { + content: "\f279"; +} +.fa-suffix-commenting:after { + content: "\f27a"; +} +.fa-suffix-commenting-o:after { + content: "\f27b"; +} +.fa-suffix-houzz:after { + content: "\f27c"; +} +.fa-suffix-vimeo:after { + content: "\f27d"; +} +.fa-suffix-black-tie:after { + content: "\f27e"; +} +.fa-suffix-fonticons:after { + content: "\f280"; +} +.fa-suffix-reddit-alien:after { + content: "\f281"; +} +.fa-suffix-edge:after { + content: "\f282"; +} +.fa-suffix-credit-card-alt:after { + content: "\f283"; +} +.fa-suffix-codiepie:after { + content: "\f284"; +} +.fa-suffix-modx:after { + content: "\f285"; +} +.fa-suffix-fort-awesome:after { + content: "\f286"; +} +.fa-suffix-usb:after { + content: "\f287"; +} +.fa-suffix-product-hunt:after { + content: "\f288"; +} +.fa-suffix-mixcloud:after { + content: "\f289"; +} +.fa-suffix-scribd:after { + content: "\f28a"; +} +.fa-suffix-pause-circle:after { + content: "\f28b"; +} +.fa-suffix-pause-circle-o:after { + content: "\f28c"; +} +.fa-suffix-stop-circle:after { + content: "\f28d"; +} +.fa-suffix-stop-circle-o:after { + content: "\f28e"; +} +.fa-suffix-shopping-bag:after { + content: "\f290"; +} +.fa-suffix-shopping-basket:after { + content: "\f291"; +} +.fa-suffix-hashtag:after { + content: "\f292"; +} +.fa-suffix-bluetooth:after { + content: "\f293"; +} +.fa-suffix-bluetooth-b:after { + content: "\f294"; +} +.fa-suffix-percent:after { + content: "\f295"; +} +.fa-suffix-gitlab:after { + content: "\f296"; +} +.fa-suffix-wpbeginner:after { + content: "\f297"; +} +.fa-suffix-wpforms:after { + content: "\f298"; +} +.fa-suffix-envira:after { + content: "\f299"; +} +.fa-suffix-universal-access:after { + content: "\f29a"; +} +.fa-suffix-wheelchair-alt:after { + content: "\f29b"; +} +.fa-suffix-question-circle-o:after { + content: "\f29c"; +} +.fa-suffix-blind:after { + content: "\f29d"; +} +.fa-suffix-audio-description:after { + content: "\f29e"; +} +.fa-suffix-volume-control-phone:after { + content: "\f2a0"; +} +.fa-suffix-braille:after { + content: "\f2a1"; +} +.fa-suffix-assistive-listening-systems:after { + content: "\f2a2"; +} +.fa-suffix-asl-interpreting:after, +.fa-suffix-american-sign-language-interpreting:after { + content: "\f2a3"; +} +.fa-suffix-deafness:after, +.fa-suffix-hard-of-hearing:after, +.fa-suffix-deaf:after { + content: "\f2a4"; +} +.fa-suffix-glide:after { + content: "\f2a5"; +} +.fa-suffix-glide-g:after { + content: "\f2a6"; +} +.fa-suffix-signing:after, +.fa-suffix-sign-language:after { + content: "\f2a7"; +} +.fa-suffix-low-vision:after { + content: "\f2a8"; +} +.fa-suffix-viadeo:after { + content: "\f2a9"; +} +.fa-suffix-viadeo-square:after { + content: "\f2aa"; +} +.fa-suffix-snapchat:after { + content: "\f2ab"; +} +.fa-suffix-snapchat-ghost:after { + content: "\f2ac"; +} +.fa-suffix-snapchat-square:after { + content: "\f2ad"; +} +.fa-suffix-pied-piper:after { + content: "\f2ae"; +} +.fa-suffix-first-order:after { + content: "\f2b0"; +} +.fa-suffix-yoast:after { + content: "\f2b1"; +} +.fa-suffix-themeisle:after { + content: "\f2b2"; +} +.fa-suffix-google-plus-circle:after, +.fa-suffix-google-plus-official:after { + content: "\f2b3"; +} +.fa-suffix-fa:after, +.fa-suffix-font-awesome:after { + content: "\f2b4"; +} +.fa-suffix-handshake-o:after { + content: "\f2b5"; +} +.fa-suffix-envelope-open:after { + content: "\f2b6"; +} +.fa-suffix-envelope-open-o:after { + content: "\f2b7"; +} +.fa-suffix-linode:after { + content: "\f2b8"; +} +.fa-suffix-address-book:after { + content: "\f2b9"; +} +.fa-suffix-address-book-o:after { + content: "\f2ba"; +} +.fa-suffix-vcard:after, +.fa-suffix-address-card:after { + content: "\f2bb"; +} +.fa-suffix-vcard-o:after, +.fa-suffix-address-card-o:after { + content: "\f2bc"; +} +.fa-suffix-user-circle:after { + content: "\f2bd"; +} +.fa-suffix-user-circle-o:after { + content: "\f2be"; +} +.fa-suffix-user-o:after { + content: "\f2c0"; +} +.fa-suffix-id-badge:after { + content: "\f2c1"; +} +.fa-suffix-drivers-license:after, +.fa-suffix-id-card:after { + content: "\f2c2"; +} +.fa-suffix-drivers-license-o:after, +.fa-suffix-id-card-o:after { + content: "\f2c3"; +} +.fa-suffix-quora:after { + content: "\f2c4"; +} +.fa-suffix-free-code-camp:after { + content: "\f2c5"; +} +.fa-suffix-telegram:after { + content: "\f2c6"; +} +.fa-suffix-thermometer-4:after, +.fa-suffix-thermometer:after, +.fa-suffix-thermometer-full:after { + content: "\f2c7"; +} +.fa-suffix-thermometer-3:after, +.fa-suffix-thermometer-three-quarters:after { + content: "\f2c8"; +} +.fa-suffix-thermometer-2:after, +.fa-suffix-thermometer-half:after { + content: "\f2c9"; +} +.fa-suffix-thermometer-1:after, +.fa-suffix-thermometer-quarter:after { + content: "\f2ca"; +} +.fa-suffix-thermometer-0:after, +.fa-suffix-thermometer-empty:after { + content: "\f2cb"; +} +.fa-suffix-shower:after { + content: "\f2cc"; +} +.fa-suffix-bathtub:after, +.fa-suffix-s15:after, +.fa-suffix-bath:after { + content: "\f2cd"; +} +.fa-suffix-podcast:after { + content: "\f2ce"; +} +.fa-suffix-window-maximize:after { + content: "\f2d0"; +} +.fa-suffix-window-minimize:after { + content: "\f2d1"; +} +.fa-suffix-window-restore:after { + content: "\f2d2"; +} +.fa-suffix-times-rectangle:after, +.fa-suffix-window-close:after { + content: "\f2d3"; +} +.fa-suffix-times-rectangle-o:after, +.fa-suffix-window-close-o:after { + content: "\f2d4"; +} +.fa-suffix-bandcamp:after { + content: "\f2d5"; +} +.fa-suffix-grav:after { + content: "\f2d6"; +} +.fa-suffix-etsy:after { + content: "\f2d7"; +} +.fa-suffix-imdb:after { + content: "\f2d8"; +} +.fa-suffix-ravelry:after { + content: "\f2d9"; +} +.fa-suffix-eercast:after { + content: "\f2da"; +} +.fa-suffix-microchip:after { + content: "\f2db"; +} +.fa-suffix-snowflake-o:after { + content: "\f2dc"; +} +.fa-suffix-superpowers:after { + content: "\f2dd"; +} +.fa-suffix-wpexplorer:after { + content: "\f2de"; +} +.fa-suffix-meetup:after { + content: "\f2e0"; +} diff --git a/addons/web/static/lib/pdfjs/web/ui_utils.js b/addons/web/static/lib/pdfjs/web/ui_utils.js index 7e798e34270..5480224846b 100644 --- a/addons/web/static/lib/pdfjs/web/ui_utils.js +++ b/addons/web/static/lib/pdfjs/web/ui_utils.js @@ -348,6 +348,10 @@ var ProgressBar = (function ProgressBarClosure() { this.div.classList.remove('indeterminate'); var progressSize = this.width * this._percent / 100; this.div.style.width = progressSize + this.units; + // Add attributes for screen readers and analysis tools + this.bar.setAttribute('aria-valuemin', 0); + this.bar.setAttribute('aria-valuemax', 100); + this.bar.setAttribute('aria-valuenow', this._percent); }, get percent() { @@ -377,6 +381,7 @@ var ProgressBar = (function ProgressBarClosure() { } this.visible = false; this.bar.classList.add('hidden'); + this.bar.setAttribute('aria-hidden', "true") document.body.classList.remove('loadingInProgress'); }, @@ -387,6 +392,7 @@ var ProgressBar = (function ProgressBarClosure() { this.visible = true; document.body.classList.add('loadingInProgress'); this.bar.classList.remove('hidden'); + this.bar.setAttribute('aria-hidden', "false") } }; diff --git a/addons/web/static/lib/qweb/qweb-test-attributes.xml b/addons/web/static/lib/qweb/qweb-test-attributes.xml index e16ef8a3f0e..b599b76b629 100644 --- a/addons/web/static/lib/qweb/qweb-test-attributes.xml +++ b/addons/web/static/lib/qweb/qweb-test-attributes.xml @@ -5,9 +5,9 @@ <result id="static"><![CDATA[<div foo="a" bar="b" baz="c"></div>]]></result> <t t-name="static-void"> - <img src="/test.jpg"/> + <img src="/test.jpg" alt="Test"/> </t> - <result id="static-void"><![CDATA[<img src="/test.jpg"/>]]></result> + <result id="static-void"><![CDATA[<img src="/test.jpg" alt="Test"/>]]></result> <t t-name="fixed-literal"> <div t-att-foo="'bar'"/> diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index 94a0afaa32a..6ce74539926 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -471,10 +471,10 @@ QWeb2.Engine = (function() { if (this.debug && window.console) { console.log(code); } - this.tools.exception("Error evaluating template: " + error, { template: name }); + this.tools.exception("Error evaluating template: " + error, { template: template }); } if (!tcompiled) { - this.tools.exception("Error evaluating template: (IE?)" + error, { template: name }); + this.tools.exception("Error evaluating template: (IE?)" + error, { template: template }); } this.compiled_templates[template] = tcompiled; return this.render(template, dict); |
