I'm going to give the less popular answer.
Don't embed it. Navigation with iframes can be problematic (you need to use full URLs) which makes it difficult to link back to the course content directly and formatting isn't carried over from Canvas. This makes it a seem like a different system -- in which case you might just want to make it a different system all together. See Embedding an Uploaded HTML page in an iFrame for more information on embedding.
Don't hack it at the course level. If you want a smooth integration with Canvas, then support it at the institutional level. If you want to have your own content outside Canvas, but need to do tracking or assign grades, then consider an LTI external tool.
If you want the seamless effect and you believe that accordions are the best solution, then convince your Canvas Admin for an account or sub-account to add the global JavaScript and CSS needed to support accordions. Then mark it up using a class within the HTML on the Canvas Page. Do not use the .enhanced_content .accordions; that has been deprecated -- accordions was the first thing to go in Canvas' deprecation of jQuery UI -- probably because of low usage and bad accessibility. If you do install it at the account level, then share the code with others so that they can use the accordions as well. That way everyone is on the same page and you can keep the excess code to a minimum.
Be careful which library you pick to support accordions as you'll need to ensure accessibility rather than Canvas checking for you. Instructure claims to make a really good library, but you can't use it if you want to incorporate content directly inside Canvas. You can only use it if you want to embed content and load ReactJS and InstUI in an iframe where the content is hosted elsewhere. You may want to check out accessible accordions on the W3C site -- the code used in their accordion example isn't too long. Also realize that there are issue printing them (also with tabs) so consider overriding the print media CSS.
If you cannot convince the Canvas Admin that accordions are the way to go, then chunk your page into several smaller pages.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.