the demo on CodePen<\/a>. If you want to download a copy you can click the Share button and click “Export as .zip”. <\/p>\nNotes<\/h3>\n
The CodePen demo has the bit of JavaScript that applies the “mac” or “pc” class that applies the modifier key. Warning: gross UA testing. But is there any other way to do it?<\/p>\n
There is a bug (or it seems to me is a bug) in OS X Voice Over that reads the buttons as:<\/p>\n
\u2318 Cut Keyboard Command:X<\/strong><\/p>\nrather than:<\/p>\n
Cut Keyboard Command: \u2318X<\/strong><\/p>\nWhere the psuedo element is specifically being applied. Even better would be:<\/p>\n
Cut [quick pause] [soft voice]Keyboard Command: \u2318X[\/end soft voice]<\/strong><\/p>\nMaybe, anyway.<\/p>\n","protected":false},"excerpt":{"rendered":"
A while ago we covered a cool “hover” technique by Doug Neiner where an informational popup was displayed when you hovered over a picture. The first time you hovered over, there was a delay. This was to prevent accidental or fly-by mouse overs, as opposed to intentionally focusing on a particular picture. Subsequent hovers showed […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":13638,"url":"https:\/\/css-tricks.com\/a-really-nice-way-to-handle-popup-information\/","url_meta":{"origin":17298,"position":0},"title":"A Really Nice Way To Handle Popup Information","date":"August 17, 2011","format":false,"excerpt":"Showing additional info (\"popup\") when hovering over an element is a pretty easy thing to do. But there is a ton of subtle ways to improve that interaction. This articles goes over a really excellent technique for this covered by Doug Neiner at the Front End Design Conference 2011.","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2011\/08\/infopopup.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":305681,"url":"https:\/\/css-tricks.com\/how-to-re-create-a-nifty-netflix-animation-in-css\/","url_meta":{"origin":17298,"position":1},"title":"How to Re-Create a Nifty Netflix Animation in CSS","date":"April 7, 2020","format":false,"excerpt":"The design for Netflix's browse page has remained pretty similar for a few years now. One mainstay component is the preview slider that allows users to scroll through content and hover on items to see a preview. One unique characteristic of the UI is its hover behavior. When a show\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/03\/netflix-carousel.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":336231,"url":"https:\/\/css-tricks.com\/long-hover\/","url_meta":{"origin":17298,"position":2},"title":"Long Hover","date":"March 16, 2021","format":false,"excerpt":"I had a very embarrassing CSS moment the other day. I was working on the front-end code of a design that had a narrow sidebar of icons. There isn't enough room there to show text of what the icons are, so the idea is that we'll use accessible (but visually\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/03\/long-hover-icon-tooltip-cursor.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":360490,"url":"https:\/\/css-tricks.com\/can-css-prevent-tooltips-from-overflowing\/","url_meta":{"origin":17298,"position":3},"title":"What Would it Take to Prevent CSS Tooltips From Overflowing?","date":"January 11, 2022","format":false,"excerpt":"Say you have an elements with CSS tooltips and you're going to position those tooltips such that it opens up next to the element on hover (or probably better: when clicked\/tapped). Next to it where? Above it? What if the element is already really close to the top of the\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2022\/01\/Directionally-aware.png?fit=816%2C616&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":334666,"url":"https:\/\/css-tricks.com\/how-we-improved-the-accessibility-of-our-single-page-app-menu\/","url_meta":{"origin":17298,"position":4},"title":"How We Improved the Accessibility of Our Single Page App Menu","date":"February 25, 2021","format":false,"excerpt":"I recently started working on a Progressive Web App (PWA) for a client with my team. We\u2019re using React with client-side routing via React Router, and one of the first elements that we made was the main menu. Menus are a key component of any site or app. That\u2019s really\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/12\/menu-button.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":196605,"url":"https:\/\/css-tricks.com\/dropdown-menus-with-more-forgiving-mouse-movement-paths\/","url_meta":{"origin":17298,"position":5},"title":"Dropdown Menus with More Forgiving Mouse Movement Paths","date":"February 23, 2015","format":false,"excerpt":"This is a fairly old UX concept that I haven't heard talked about in a while, but is still relevant in the case of multi-level dropdown menus. A fine-grained pointer like a mouse sometimes has to travel through pretty narrow corridors to accurately get where it needs to in a\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"featured_media_src_url":null,"_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/17298"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=17298"}],"version-history":[{"count":7,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/17298\/revisions"}],"predecessor-version":[{"id":152770,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/17298\/revisions\/152770"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=17298"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=17298"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=17298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}