The HTML5 spec tells us that the <p> element’s content model is phrasing content. Phrasing content is defined by the spec:
3.2.5.1.5 Phrasing content
Phrasing content is the text of the document, as well as elements that
mark up that text at the intra-paragraph level. Runs of phrasing
content form paragraphs.a(if it contains only phrasing content)abbrarea(if it is a descendant of amapelement)audiobbdibdobrbuttoncanvascitecodecommanddatalistdel(if it contains only phrasing content)dfnemembediiframeimginputins(if it contains only phrasing content)kbdkeygenlabelmap(if it contains only phrasing content)markmathmeternoscriptobjectoutputprogressqrubyssampscriptselectsmallspanstrongsubsupsvgtextareatimeuvarvideowbrtext