Yes Risotto should be a bit hard and also al dente.
When you cook the Risotto it takes around 18 minutes to fully cook and when fully cooked the fully cooked Risotto dish should be al dente which means that the Risotto should be a bit firm when you bite into the Risotto.
If the Risotto is still too hard then you should cook the Risotto a few more minutes.
But if the Risotto is just a bit firm to bite but still easy to bite and chew then the Risotto is fully cooked and ready to eat or serve.
The general cook time for Risotto is 18 minutes which is how long it takes me to cook Risotto fully.