Addendum:
If you are only concerned with a “fallback facility for PDF files” (i.e., only using direct external references), then you can skip the entire \procedure definition and just write something like this:
<object data="test.pdf" style="width:100%;height:50vh;">
<object data="other.pdf" style="width:100%;height:50vh;">
cannot load PDF
</object>
</object>
Note that you can nest <object> elements as many deep as you need, so you could have multiple levels of fallback content.
-e