h is a CONSONANT!!! (glottal fricative)
/h/ is silent (not pronounced) in certain words where it occurs word-initially (hour, honest, honour, heir). This means that the first sound you pronounce in 'honest' is 'o' - in this case you use 'an' not 'a' because the next word begins with a vowel sound.
In some accents /h/ is lost - then the /h/ words will behave as if they had an initial vowel.
Such loss of /h/ is usually considered characteristic of uneducated speech, but certain function words (have, has, had) frequently lose /h/ in RP in unaccented, non-initial situations in connected speech.
Some older speakers treat an unaccented syllable beginning with an as in 'historical', as if it belonged to to the special group 'hour, honest' etc. i.e. without any initial /h/.