Here's why:
* The vowel "a" in "rattle" is followed by two consonants ("tt"). This is a common pattern in English where a vowel followed by two consonants usually has a short sound.
* The "a" in "rattle" is not stressed. This further reinforces the short vowel sound.
You can compare it to the word "rate," where the "a" is stressed and has a long vowel sound.