<!DOCTYPE html>
<!-- Any copyright is dedicated to the Public Domain.
   - http://creativecommons.org/publicdomain/zero/1.0/ -->
<html>
<head>
  <title>Reference case</title>
  <style>
    input, button {
      border: 0;             /* Combined, these mean the gray area is the */
      background: lightgray; /* border-box size. */

      outline: 2px solid black; /* The outlined area is the overflow area. */
      width: 1px;   /* (To attempt to trigger overflow) */

      display: block;     /* Put each button on its own line, w/ some margin, */
      margin-bottom: 5px; /* so that any overflow doesn't get stomped on.     */

      font: 8px serif; /* (This just lets the testcase fit better on mobile.) */
    }

    .oh { overflow: hidden }
  </style>
</head>
<body>
  <!-- For the reference case, we just put "overflow:hidden" on everything. -->
  <input class="oh" type="reset">
  <input class="oh" type="submit">
  <input class="oh" type="button" value="InputTypeButton">
  <!-- ...with one exception: button with (default) overflow:visible.
       Such buttons *do* actually allow their contents to overflow. -->
  <button>ActualButton</button>

  <input  class="oh" type="reset">
  <input  class="oh" type="submit">
  <input  class="oh" type="button" value="InputTypeButton">
  <button class="oh">ActualButton</button>

  <input  class="oh" type="reset">
  <input  class="oh" type="submit">
  <input  class="oh" type="button" value="InputTypeButton">
  <button class="oh">ActualButton</button>

  <input  class="oh" type="reset">
  <input  class="oh" type="submit">
  <input  class="oh" type="button" value="InputTypeButton">
  <button class="oh">ActualButton</button>
</body>
</html>