Go, 130130 123 bytes
func f(r,c int)(s string){R:="<tr>"
for d,i:="<th>"="<th>A",0;i<r;i++{if i>0{d="<td>"d="<td>A"}
s+=Rs+="<tr>"
for j:=0;j<c;j++{s+=d+"A"s+=d}}
return"<table>"+s}
Attempt This Online!Attempt This Online!
- -7 bytes from removing unused variable, condensing string literals (@xigoi)