Edit in JSFiddle

<main class="flex-parent">

  <div>
    <h1>Accessible Div Button</h1>
    <div class="btn" id="divButton" tabindex="0" role="button">Download</div>
  </div>

</main>
const divButton = document.getElementById('divButton');

divButton.addEventListener('click', downloadStuff);

divButton.addEventListener('keydown', (event) => {
  if (event.code === 'Space' || event.code === 'Enter') {
    divButton.click();
  }
});

function downloadStuff() {
  alert('Time to start downloading');
}
body {
  font-family: Arial, Helvetica, sans-serif;
}

.flex-parent {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.btn {
  cursor: default;
  display: inline-block;
  font-size: 1em;
  border: none;
  border-radius: 0.25em;
  padding: 0.5em 1em;
  color: white;
  background-color: #4050B0;
}