Here's why:
* The "o" in "okay" has a short vowel sound. It's the same sound as the "o" in "hot" or "lot".
* Long vowel sounds are typically associated with a vowel sound that is spelled with a vowel followed by a silent "e" at the end of the word, or a double vowel. For example, "ate" or "boat" have long vowel sounds.
Therefore, "okay" has a short vowel sound.