Customizing Likert element


Author
Message
anabela_c
anabela_c
New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)
Group: Forum Members
Posts: 5, Visits: 27
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

Dave
Dave
Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)
Group: Administrators
Posts: 11K, Visits: 70K
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


anabela_c
anabela_c
New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)New Member (30 reputation)
Group: Forum Members
Posts: 5, Visits: 27
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Thank you, Dave, for this alternative! I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse? 
Dave
Dave
Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)Supreme Being (937K reputation)
Group: Administrators
Posts: 11K, Visits: 70K
anabela_c - 5/21/2021
Dave - 5/19/2021
anabela_c - 5/19/2021
Hi! I am using a lightgray background color for my experiment, however the likert is displayed on white, I have tried the regular attribute / txbgcolor = (lightgray) but it doesn’t work. According to what I’ve been reading in the forum it’s not possible to customize a likert element.
An additional issue, is that the current option selected from the likert scale is not distinguishable from the other options, that is, it's very difficult to see what you are about to select as a response (I disabled the mouse option, they have to use the arrows to select one option), Is it possible to highlight more the current option to make it more visible?

Thank you in advance!!
Anabela

The answers are no and no, I'm afraid.

If need be, however, you can build something using regular <trial> elements instead:

<defaults>
/ screencolor = lightgray
/ txbgcolor = lightgray
</defaults>

<data>
/ columns = [date,time,subject, group, session, trialcode, text.question.currentitem, expressions.ratingvalue]
</data>

<values>
/ distance = 15%
/ questionnumber = 0
</values>

<expressions>
/ ratingvalue = trimright(1+(text.indicator.hposition-text.r1.hposition)/values.distance, "pct")
</expressions>

<block myblock>
/ trials = [1-2=getquestion]
</block>

<trial getquestion>
/ stimulusframes = [1=clearscreen]
/ ontrialbegin = [values.questionnumber=list.myquestions.nextindex; text.indicator.hposition = 50%;]
/ validresponse = (0)
/ trialduration = 500
/ branch = [trial.rating]
/ recorddata = false
</trial>

<trial rating>
/ ontrialend = [if(trial.rating.response==203 && text.indicator.hposition>text.r1.hposition)
text.indicator.hposition=text.indicator.hposition-values.distance]
/ ontrialend = [if(trial.rating.response==205 && text.indicator.hposition<text.r5.hposition)
text.indicator.hposition=text.indicator.hposition+values.distance]
/ stimulusframes = [1=question,r1,r2,r3,r4,r5,indicator]
/ validresponse = (203, 205, 28)
/ branch = [if(trial.rating.response != 28) trial.rating else trial.dumpdata]
/ recorddata = false
</trial>

<trial dumpdata>
/ trialduration = 0
</trial>

<text question>
/ items = ("Q1", "Q2")
/ position = (50%, 30%)
/ erase = false
/ select = values.questionnumber
</text>

<list myquestions>
/ poolsize = 2
</list>

<text indicator>
/ items = ("^")
/ position = (50%, 55%)
</text>

<text r1>
/ items = ("1")
/ position = (20%, 50%)
/ erase = false
</text>

<text r2>
/ items = ("2")
/ position = (35%, 50%)
/ erase = false
</text>

<text r3>
/ items = ("3")
/ position = (50%, 50%)
/ erase = false
</text>

<text r4>
/ items = ("4")
/ position = (65%, 50%)
/ erase = false
</text>

<text r5>
/ items = ("5")
/ position = (80%, 50%)
/ erase = false
</text>


Thank you, Dave, for this alternative! I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse? 

> I was also considering radiobuttons displayed horizontally, is it possible to select the response via keyboard not using the mouse?

No. For what you want, the options are either <likert> or a <trial>-based solution along the lines of the example in my previous response.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search