I put several buttons to tutorial app to show the problem.

Tutotial app:

ionic start test tutorial --v2

Add to hello-ionic.html:

<button ion-button (click)="clickIt($event)">First button</button>
<button ion-button (click)="clickIt($event)">Second button</button> 

Add to hello-ionic.ts:

clickIt($event) {
  console.log("clickIt", $event);

Then run

ionic serve

When page has been loaded just press several times to TAB key. When focus’ll be at the “First button” press ENTER or SPACE. Nothing on console. But focus at “First button”…

Click to any free space of the page.
Then focus with TAB key to the “First button” again and press ENTER or SPACE. Yohoo! We can see a message in console.

Why events doesn’t work without clicking to the page? It’s look like some kind of “activation”, but focus changing works well and how can I do that without clicking, just from script?