it would be nice for list view layouts to assign a layout part to be a button - the same with a portal row be able to assign the row as a button and also define the action to happen on a count (single or double ) click / tap inputs.
This would remove the necessity to add a button object below other merge variables or fields and other objects in the z stacking order. ( not recommended for web direct )
When assigning the part as a button this should include all states / icons / and other options as traditional buttons would.
Any alternating rows / hover states and active selection should have some smart css mashup to manage transparency and continue to indicate both selection and the alternate row color, so as to be complimentary and possibly smartly alter all other text objects in the part.
If you are hovering over a row (list or portal) and the hover state color is darker then any text objects appearing would dynamicaly alter to be readable, with out having to modify any object states on individual that objects contained in the row or part.
Single click/tap - would either perform a script or select row
Double click/tap - would select the row and run any triggers - then perform the script
Single click/tap on an already selected row would execute the script - the developer would not have to program this in to the script logic - by storing the record id in a variable.
For list views there need to be a "null" state and just not assume that on layout load the first record in the list is "active"
This button should also have the same feature as a trigger does so that it can be turned in ether browse / find mode or better yet be able to run a different script for each mode.