There are obviously a lot of ways to tackle accessibility for any mouse-oriented, visual app like this. Here is a suggestion for how to handle focus states for our little dance floor of lights!
For this exercise, I set a few basic parameters. The user can tab into the container of squares with the tab key, then they can use the arrow keys to navigate around the grid while creating the same effects as a mouse user.
Another parameter is that the grid should be fixed-size and allow for a "wrap" effect at the edges of the grid, using some simple math and switch case statements. The focus moves from left to right and top to bottom.