One important property of the action of vector fields on functions is that it is _local_ : the value of $X(f)$ at $p$ depends only on the value of $X$ at $p$. (This is a consequence of the $C^\infty(M)$-linearity of vector fields.) Thus it makes sense to talk about $t(f)$ when $t \in T_pM$ is just a single tangent vector - simply extend $t$ to a vector field $X$ such that $X(p) = t$ and define $t(f) = (Xf)(p)$, and the locality tells you that this is in fact independent of the extension you choose.
Thus tangent vectors are operators $C^\infty (M) \to \mathbb R$, so $t(f)$ should just be a real number. This agrees with the other side of the equation: $t^a \
abla_a f$ is the natural pairing of a tangent vector $t^a$ with a cotangent vector $\
abla_a f = df$. You can view this as the contraction of the $(1,1)$-tensor $t^a \
abla_b f = t \otimes df$.