Simple Annotation Example¶
This shows how to annotate images without custom JavaScript - just use a numbered diagram and list below it.
Decision Table Example¶
Below is a DMN decision table. The numbers correspond to the descriptions below:
Understanding the Decision Table¶
- Hit Policy (U) - Unique hit policy means only one rule can match at a time
- Rule Numbers - Each row is numbered (1-5) for easy reference
- Decision Input - The
Credit Score.FICOcolumn checks the FICO score value - Decision Output - The
Credit Score Ratingcolumn sets the output rating - Annotations - Optional notes that don't affect execution
- FEEL Input Expressions - Range expressions like
[650..700)use FEEL syntax - FEEL Output Values - String outputs in quotes like
"Good"or"Excellent"
Key Concepts¶
Input Column (Credit Score.FICO)
The dot notation Credit Score.FICO extracts the FICO property from the Credit Score input data. Each rule below uses range expressions to check if the score falls within specific bounds.
Range Expressions
[650..700)- Inclusive of 650, exclusive of 700[700..750]- Inclusive of both 650 and 750- Use brackets
[]for inclusive, parentheses()for exclusive
Output Column (Credit Score Rating)
When a rule matches, the corresponding output value is returned. For string outputs, use quotes: "Poor", "Fair", "Good", "Excellent".
Alternative: Use Figure with Caption¶
Then describe the parts in the text:
The decision table has several key components:
- Hit Policy (top-left "U"): Ensures only one rule matches
- Input column: Checks
Credit Score.FICOvalue - Output column: Sets
Credit Score Ratingbased on ranges - Rules 1-5: Define the rating thresholds
This approach:
✅ No JavaScript required ✅ No custom CSS needed ✅ Works on all devices ✅ Accessible to screen readers ✅ No maintenance burden ✅ Never overlaps sidebar
Option 3: Use Material Admonitions for Callouts¶
Instead of tooltips, use Material's built-in admonitions:
Understanding the Hit Policy
The "U" (Unique) hit policy means only one rule can match for any given input. This ensures predictable behavior.
FEEL Range Expressions
Range expressions like [650..700) use FEEL syntax:
[= inclusive (includes the number)(= exclusive (excludes the number)..= range operator
Output Values
String outputs must be quoted: "Poor", "Fair", "Good", "Excellent".
Numbers and booleans don't need quotes: 42, true.
Recommendation¶
For your docs, I recommend Option 1 - just add numbers to your screenshot images and explain them in a list below. This is:
- Simple - No custom code
- Reliable - Works everywhere
- Maintainable - Easy to update
- Accessible - Screen readers can read the list
- Fast - No JavaScript overhead
Want me to create a numbered version of your decision table image and convert the page to this format?

