<div>
  <h2>Try this out with a screen reader</h2>
  <a class="twitter-share-button"
    href="https://twitter.com/intent/tweet?text=Using%20emojis%20as%20a%20lightweight%20icon%20set" target="_blank">
  <span class="icon">🐔</span> Cluck This Post</a>
</div>
a {
  display: block;
  text-decoration: none;
  font-size: 30px;
  border: 2px solid black;
  padding: 8px 5px 0px;
  color: black;
  box-shadow: 5px 5px 0 0 black;
  text-align: center;
  position: relative;
}

a > .icon {
  font-size: 50px;
  vertical-align: middle;
  background: linear-gradient(90deg, yellow, white);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: 
    drop-shadow(1px -1px 0 black) 
    drop-shadow(-1px 0 0 black) 
    drop-shadow(1px 0 0 black) 
    drop-shadow(-.5px 1px 0 black) 
    drop-shadow(0 1px 0 black) 
    drop-shadow(1px .5px 0 black);
 }

a:hover {
   background: linear-gradient(90deg, yellow, white); 
}

a:active {
  box-shadow: none;
  top: 5px;
}

a:hover > .icon {
   background: white;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: 
    drop-shadow(1px -1px 0 black) 
    drop-shadow(-1px 0 0 black) 
    drop-shadow(1px 0 0 black) 
    drop-shadow(-.5px 1px 0 black) 
    drop-shadow(0 1px 0 black) 
    drop-shadow(1px .5px 0 black);
}

body {
  margin-top: 0;
  margin-bottom: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: helvetica, arial, sans-serif;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://codepen.io/noahblon/pen/QYvmQe/caa6efe92005db0a8b9206328253c5cc.js