LLM → Canvas Pages

LLM → Canvas Pages

This page documents a workflow for turning presentation slides or handwritten notes into accessible HTML using UTSpark (in this case, ChatGPT). The goal is to produce “materials shown in class” that:

  • Mirror what’s on the slides/notes,

  • Are friendlier to screen readers and keyboard navigation, and

  • Don’t require you to re‑type all of your content.


How to create a “profile”

Step 1: Prepare your notes

Export your slide deck or notes file as a PDF. If using Keynote or Powerpoint, turn on accessibility features.

Step 2: Upload and prompt

Upload the PDF to any LLM in UTSpark with the prompt:

Convert these notes into accessible HTML for the Canvas LMS Rich Content Editor. Use LaTeX+MathJax for equations \( \), \[ \]. Use in-line CSS only, begin headings with <h2>, and return only clean HTML suitable for pasting into Canvas.

Step 3: Review in Canvas

Copy/paste the HTML into a Canvas Page and check that:

Headings make sense
Reading order is correct
Math renders correctly

Step 4: Refine behavior

Adjust output with additional prompts. Examples are below; apply only what you need.

Start headings at <h2>. Canvas already uses <h1> in a separate text field. Treat slide/topic titles as <h2>. In-slide headings such as ‘Theorem,’ ‘Proof,’ ‘Lemma,’ or ‘Note’ should usually be tagged <h3>. Infer reading order from the slide layout.
Use LaTeX instead of MathML. Use \( \) for inline math and \[ \] for display math (Canvas does interpret $$ $$ correctly, but not $ $).
Wrap solutions in a <details> block labeled ‘Solution’. <details> <summary>Solution</summary> ... </details>
Treat non-math images as decorative. Omit if possible. Add alt text for meaningful figures and diagrams.
Use accessible tables only when the source is truly tabular. Otherwise convert to lists or paragraphs.
Preserve highlighted/emphasized text. Do not rely on color alone for meaning. Copy my text exactly; do not edit sentences.

Step 5: Create a reusable profile

Once you like the behavior, ask for refined instructions and copy/paste them as a reusable profile prompt (below).

Rewrite my current instructions as a reusable prompt for future chats. Preserve all requirements, constraints, and formatting preferences. Remove situation-specific wording. Make it concise, stable, and ready to paste into a new chat.

Authoring Habits for Reliable Conversion

This technique works well when your slides and notes are simple, linear, structured, and labeled.

This technique works less well with:

  • Slides that are screenshots of dense documents (poor OCR results)

  • Highly animated decks where builds are essential (can only be approximated)

Slides

Use structured layouts

  • Use built-in Title + Content layouts

  • Avoid free placement or scattered text boxes

Maintain clear flow

  • Order content top → bottom, left → right

  • Keep to one idea per slide

Use real, semantic content

  • Use real text (not images of text)

  • Use built-in bulleted/numbered lists

  • Do not simulate structure with font size or color

Use consistent structure

  • Slide title = main idea

  • Use short sections or bullets under the title

Label supporting content

  • Add short captions to visuals

  • Use descriptive link text (avoid “click here”)

Export

  • Export slides as PDF (not screenshots)

Handwritten notes

Structure clearly

  • Write in a linear order (top → bottom)

  • Mark sections consistently (e.g., Definition, Example, Proof)

Separate content

  • Use spacing between blocks

  • Start new ideas on new lines

Use standard forms

  • Write lists vertically

  • Keep math clear and standard

Label visuals

  • Add short captions to figures or diagrams

Avoid ambiguity

  • Do not rely on color alone

  • Avoid arrows, side notes, or crowded layouts


Troubleshooting

Coming soon.

Further reading

https://compliance.utexas.edu/programs/iaa/digital-accessibility/digital-accessibility-policy-and-procedures

Sample profile prompt

Purpose Convert Keynote slides (PDF or images) into Canvas-ready, accessible HTML that can serve as “materials shown in class.” Environment - Canvas provides the page title (<h1>); do not output <h1>. Start at <h2>. - All images are decorative unless I explicitly say otherwise. Input - PDF exported from Keynote and/or slide images (PNG/JPEG) - Do not require manual text input; infer content and reading order from the source - Reading order: top-left → bottom-right, column by column (left, then middle, then right). Ask only if ambiguous. Output - Return only Canvas-ready HTML + LaTeX (no explanations) - Use MathJax (not MathML): - Inline: \( ... \) - Display: \[ ... \] Allowed HTML <h2>, <h3>, <h4>, <p>, <ul>, <ol>, <li>, <strong>, <em>, <span>, <a>, <details>, <summary> <img> only if I explicitly mark an image as meaningful Do not use <h1>, <header>, <main>, <aside>, <style>, scripts, or custom CSS Structure - Slide/topic titles → <h2> - Subheadings (e.g., Theorem, Proof, Case) → <h3> - Paragraphs → <p> - Lists → <ul>/<ol>/<li> Examples and proofs - If a statement (problem/theorem/claim) has a worked solution or proof: <h2>Title</h2> <p>Statement and brief context</p> <details> <summary style="cursor: pointer;">Solution or Proof</summary> <div style="border: thin solid #CCCCCC; padding: 5px 15px;"> <!-- full solution/proof --> </div> </details> - Use “Proof” if it is explicitly a proof - If no solution/proof is present, do not add <details> Math - Convert all math to LaTeX: - \frac{a}{b}, x^2, x^{n+1}, \sum_{i=1}^n - Inline: \( ... \) - Display: \[ ... \] - If unclear, add <!-- unsure: ... --> Images - Omit decorative images - If marked meaningful, prefer converting content to LaTeX/HTML instead of embedding Accessibility - Preserve logical reading order (headings → explanation → math → examples) - Do not rely on color alone - Keep structure simple and linear Execution When I say “convert this deck” or “apply my profile”: - Extract content from the PDF/images - Apply all rules above - Return one clean block of HTML+LaTeX only