Hi Benjamin,
Please avoid linking to the Early Access Program documentation, you link should be to
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_prog_dialogs_cell_attr.html TTY attributes have their origins in terminals and Text User Interfaces. As per the method documentation,
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_ClassDialog_setCellAttributes.html , "The reverse attribute: When a color is specified, it is used as background color instead of foreground text color". So if you say "red", the text color will be red, if you say "red reverse", the background color will be red, the text color will be unchanged. Also due to their terminal origins, we discourage their use moving forward
https://4js.com/online_documentation/fjs-fgl-manual-html/#fgl-topics/c_fgl_MigI4GL_040.htmlThis is an interesting article around terminal colors.
https://misc.flogisoft.com/bash/tip_colors_and_formatting and in that it says you can change both foreground and reverse colors. At command line
echo -e "\e[1;33;44m Yes it is awful \e[0m"
echo -e "\e[1;34;43m Yes it is awful \e[0m"
and you will see yellow on blue and blue on yellow.
Based on that, you could argue that there could be a 4gl syntax in TTY attributes that allowed the passing of two colors, one foreground, one background. This has been considered before and is task FGL-4296. It never made it into the product. Insufficient demand to meet the cost of implementing. Also TTY attributes is not the way forward and is not something we would invest in out of choice.
I tend to use HTML to avoid TTY attributes, see the screenshot near the end of this article
https://4js.com/ask-reuben/ig-28/ note how I have white text on the darker colors, and black text on the lighter colors. That technique is over for read only fields, not necessary what you want fo editable fields.
Personally I'd prefer the ability to set styles in setCellAttributes but that has been on the wish list for a long time, note the date in ...
https://4js.com/support/issue/?id=FGL-01470.
Ask your support contact to get yourself added to either FGL-4296 or FGL-1470 so that the appropriate demand is captured.
For the issue you raised about light/dark themes, your concern is a valid one. Note the hint I gave in the Feature of the Day article in the EAP and I would suggest creating a topic of conversation in the EAP.
Reuben