title: How not to keep the state of a checkbox through the history?
body: <p>I'm using a checkbox to create a mobile menu. Simplified, it looks like that:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>input, ul {
    display: none;
  }
  label {
    cursor: pointer;
  }
  input:checked ~ ul {
    display: block;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input type="checkbox" id="toggle-menu" /&gt;
  &lt;label for="toggle-menu"&gt;Menu&lt;/label&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="duckduckgo.com"&gt;Link&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>It works well, except for a thing: when the user navigates in another page using the menu, and then go back is the history, the checkbox state is kept, and thus the menu is displayed.</p>
  
  <p>Is it possible to prevent this, preferably without Javascript? To say it in another words, I'd like the menu to never be displayed when a page is accessed to, even through the navigation in the history. The user must click on the label to see the menu.</p>