|
|
|
|
|
by kyle-rb
225 days ago
|
|
Hi, good premise overall, but there are just a lot of little things that are off. - It only counts as "fucking with tabindex" if you give it a value that's not 0 or -1. You should give that specific disclaimer, because there are uses for tabindex=0 other than reimplementing <button>. - Divs can definitely receive keydown events. If I go to an arbitrary web page, pick a div and run `div.tabIndex = 0;` + `div.addEventListener('keydown', console.log);`, I see those events coming through when I have the div keyboard-focused. - "Run your code, somehow..." I think just calling `notRealBtn.click()` is the best option. - Stupid but semi-interesting nitpick: 'keydown' is good for enter, but you should be listening to 'keyup' for the space bar. That's how real <button>s work anyway. - The 'keyup' listener should call event.preventDefault() to prevent the default behavior of the space bar scrolling the page. |
|