While implementing insert table feature:

I've realized that it has no keyboard support defined. But I'd leave it as a followup to focus first on other missing features from MVP.
I also had some minor issues with getting this to work with FocusCycler and using <div tabindex="-1">. Also maybe I'm missing something but with current implementation of above dropdown I'd like to use methods like focus( 10 ) and focus( -10 ) to skip a whole row on arrowup and arrowdown.
Probably the slightly better approach would be to make the dimensions, located below the grid, editable. In such case keyboard would focus inputs, avoiding the whole grid. IMO it would be also more readable for screen readers.
Some new ideas (or just confirmation of what we came up with) in this ticket: #6765.
It seems that the best approach could be something as Comandeer suggested or just replace the grid by 2 inputs, because this way it would be accessible for other kind of input methods, as voice commands (eg. Voice Control, Voice Access).
or just replace the grid by 2 inputs
That would make the UI nearly useless for anyone using mouse so it's definitely a no-go. The grid is one thing and the inputs are another, and I think what @Comandeer suggested is a very good idea in this case.
Related #7939.
_I have done some research on this and summed up the discussion below:_
The 'Mix of the two above' option seems to be the most reasonable.
It would cover the need to support multiple input methods with minimal effort thanks to the additional inputs and will also keep the super fast and simple table insertion for desktop users.
The detailed description of this one can be found here: #6765
Plus, the touch support should include enlarging the cell size, adding an 'insert table' button for the touch screen, and adding support for at least mouseDown and mouseUp events in the editor.
๐ a pretty consistent interface on various devices,
๐ the current behavior of the interface doesn't change (comfortable for existing users)
๐ one-click table insertion for mouse users,
๐ very simple interface for keyboard users (no navigation between inputs, just โฌ๏ธ โก๏ธ and enter,
โช sufficient support for touch devices,
โI'm not sure how this solution would work with the screen readers,
โ probably a huge effort to implement

๐ relatively simple to implement,
๐ available for screen readers and voice commands,
๐ the current behavior of the interface doesn't change (comfortable for existing users)
๐ one-click table insertion for mouse users,
โช sufficient support for keyboard,
โช sufficient support for touch devices
โช a relatively consistent interface on various devices (differences handled with CSS only)

๐ relatively simple to implement,
๐ available for screen readers and voice commands,
๐ the current behavior of the interface doesn't change (comfortable for existing users)
๐ one-click table insertion for mouse users,
๐ small and simple interface,
โช sufficient support for keyboard,
โช a relatively consistent interface on various devices (differences handled with CSS only),
โ poor support for touch devices if no touch support added to the grid (the values need to be entered with the keyboard),
โ the button can be mistaken with the information that entered values are valid
Replacing the current interface with two inputs for defining the amounts of rows and columns
For me, the grid is very convenient for mouse users and replacing it with number inputs will be a big step back. So, to the list of cons, I'd add the fact that it would negatively affect the current UX.
Thanks, @magda-chrzescian for the research.ย
I agree with Reinmar that the grid must stay for desktop users and for backward (UX) compatibility.
BTW: Have you considered a UX that would roughly look like this in your research?

In this approach:
Also, I'd add "Ability to insert tables bigger than 10x10" to the Decision Drivers section. Maybe this is not our top priority, but let's keep it in mind.
@oleq yes, I considered this option. I rejected it because of the need to support touch devices - it doesn't really look like something that can be edited and the inputs would be too small to focus properly. I proposed the +/- buttons as the extension of this idea, which would be more convenient for touch screen users.
But, after rethinking, I believe that it can be used in UI for touch devices under some conditions:
And I still see a relevant inconvenience - I'm not sure if it is obvious which input reflects the number of columns and which the number of rows. It's going to be clear only after entering the value and focusing the second input (the grid also must reflect the state of the inputs).
I will summarize our thoughts and add another option to the ADR.
I updated the ADR, according to our earlier conversation with @oleq.
Most helpful comment
Probably the slightly better approach would be to make the dimensions, located below the grid, editable. In such case keyboard would focus inputs, avoiding the whole grid. IMO it would be also more readable for screen readers.