It's possible to buy phones with talking directories.
You input the numbers and record yourself saying the persons name, then when you move through the directory it will play back that recording for each number. There are also models that use simulated speech so you don't have to record your own voice.
Corded phones are generally better as they have a large base unit that is better for large buttons but you can also get cordless phones.
Whichever is better would probably depend on your grandmothers ability to memorise what button does which function by touch.
$1 is an example of a corded talking phone
$1 is an example of a cordless one
They aren't too cheap but are probably the easiest solution.
Obviously yourself or other family members would have to do the initial setup and inputting of numbers.
Of course a lot of mobile phones also have voice recognition where she would only need to press one button and speak the name of the person she wishes to call - Apple has SIRI and Windows has Cortana, both work fairly well but they aren't perfect, especially if you have a strong regional accent like I have.