I'm working to finish the documentation of the Fill-in-the-Blank component and have realized I need to address the connection between the feedback and static representations.
The original implementation (fillin-basic) creates a #solution that first *restates* the original question, replacing the fill-in blanks with the corresponding _answer_, and then adds on the feedback that is given if a user provides that answer. I suppose this makes sense if the "feedback" is closer to a statement explaining the reasoning that the answer is correct. It does not make sense for feedback on the order of "Correct".
However, in the dynamic representation (html/web), when a user submits a correct response to one question and not to another, feedback that does not explicitly state "Correct" or "Incorrect" but gives a sentence of reasoning may be confusing the user if they can't tell if the feedback is telling them to change their answer or affirming the reasoning.
In Tacoma, one observation was the challenge of consistency in feedback. The localizations file has entries for "correct" and "incorrect". I'm wondering if perhaps the Runestone Component itself should be informed of the localization strings for correct/incorrect and insert that prior to the provided feedback text rather than have it encoded in the #feedback. This would allow the static version to skip the "Correct!" when presenting the generated solution. And then the #feedback would *only* include explanatory feedback.
Does this make sense as a strategy?
Brian