Last night I came across a post that explains the history of the situation:

https://adrianroselli.com/2020/01/my-priority-of-methods-for-labeling-a-control.html

Thus, if I'm understanding correctly, the WCAG standard requires the "for" 
attribute because neither Internet Explorer 11 nor Dragon Dictate supports 
nested labels. That makes a lot of sense.

Best wishes

Jeremy

--
Jeremy Ruston
[email protected]
https://jermolene.com

> On 28 Apr 2021, at 20:09, Jeremy Ruston <[email protected]> wrote:
> 
> Hi Jean-Pierre
> 
> I think you’re asking why the IDs can’t be handled automatically, without the 
> author having to worry about them. I think that that may be possible in 
> simple cases, but not in general. Typically one needs the same ID in multiple 
> places, which won’t happen just by using the qualify macro. It’s only the 
> simple cases where the two elements are adjacent within the same transclusion 
> that one can get away with using the qualify macro without needing to think 
> about what is actually going on.
> 
> So, to summarise:
> 
> * Yes, we can use IDs in TiddlyWiki, and we have extensive infrastructure 
> that can be used to simplify the job, but using those features requires an 
> understanding of what is going on. One may be able to package simple cases 
> like a label/input pair into a reusable macro, but it’s not possible to 
> encapsulate the complexity in general
> * If you want to explore using IDs, it would be worth looking at the 
> infrastructure we have for dealing with qualified state tiddler titles
> 
> Meanwhile, the frustrating thing remains that all of this is only necessary 
> because the WCAG spec ignores the underlying HTML spec (and the 
> implementations of browsers and screen readers).
> 
> Best wishes
> 
> Jeremy.
> 
> 
> 
>> On 28 Apr 2021, at 19:50, Jean-Pierre Rivière <[email protected]> 
>> wrote:
>> 
>> <label for=<<qualify id>>>This is the label</label>
>> <input id=<<qualify id>>/>
>> 
>> This is hand-made html code. how would I be able to get the input behave in 
>> tiddlywiki as if it was done by the button widget?
>> 
>> could a pragma like \useIdInButtons be used to allow a code like <$button 
>> actions=<<myMacro>> id=auto/> which would construct an input with an 
>> id=<<qualify id>>? No other value than "auto" would be allowed for "id", 
>> making uniformed use of it fail and force coders to look at the doc?
>> 
>>> Le mercredi 28 avril 2021 à 17:34:14 UTC+2, [email protected] a écrit :
>>> Hi Jean-Pierre
>>> 
>>>> On 28 Apr 2021, at 15:48, Jean-Pierre Rivière <[email protected]> 
>>>> wrote:
>>>> 
>>>> Thank you for the clarification. I understand your point of view.
>>>> 
>>>> Now if I want to have a go at it, for instance so that my input buttons 
>>>> can get an id from a parameter, how should I proceed? From where should I 
>>>> start? I'm sure this is not trivial but I'm eager to try.
>>> 
>>> It’s essentially the same problem as we encounter when generating unique 
>>> state tiddler titles. Thus you could use the <<qualify>> macro like so:
>>> 
>>> <label for=<<qualify id>>>This is the label</label>
>>> <input id=<<qualify id>>/>
>>> 
>>> The qualify macro returns its argument with a string of numbers appended 
>>> that is derived from the ancestor transclusions, making an ID that will be 
>>> unique within a transclusion.
>>> 
>>> Best wishes
>>> 
>>> Jeremy
>>> 
>>> 
>>>> 
>>>> regards.
>>>> 
>>>> Le mercredi 28 avril 2021 à 12:32:33 UTC+2, [email protected] a écrit :
>>>>>> In a recent thread, Jeremy told me that having id elements is a bit of 
>>>>>> a problem because each tiddler can be transcluded more than once into 
>>>>>> any given tiddler' which would result into a broken html with a repeated 
>>>>>> id value.
>>>>> 
>>>>>> 
>>>>>> This is true.
>>>>>> 
>>>>>> But if id are required, shouldn't it be up to the programmer to make 
>>>>>> sure there is no problem? Of course, the doc would tell that specifying 
>>>>>> id is a tricky things to be done with great precaution. But this is IMHO 
>>>>>> better that forbidding id specification altogether.
>>>>>> 
>>>>>> As was the exposed, this has to do with WCAG requirements ignoring the 
>>>>>> CORRECT HTML (stated as accessible on official docs) 
>>>>>> <label><input/></label> are requiring <label for=foo/><input id=foo/> as 
>>>>>> the only validating way of accessible code. (with some variations for 
>>>>>> WAI-ARIA)
>>>>> 
>>>>> 
>>>>> Just to be clear, the core doesn't forbid using "id" attributes, it's 
>>>>> perfectly possible to use them as long as care is taken. The thing that's 
>>>>> particularly hard is to use IDs within a reusable component without the 
>>>>> user of that component being aware of the mechanism. So, the core avoids 
>>>>> the complexity of these techniques.
>>>>> 
>>>>> Best wishes
>>>>> 
>>>>> Jeremy.
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Jean-Pierre
>>>>>> 
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "TiddlyWiki" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>> an email to [email protected].
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/tiddlywiki/d739e00f-ba01-4425-b0d0-9730d6524986n%40googlegroups.com.
>>>> 
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "TiddlyWiki" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected].
>>> 
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/tiddlywiki/0805f885-ed1b-441a-9552-50758afe0b1fn%40googlegroups.com.
>>> 
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "TiddlyWiki" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/tiddlywiki/4531f079-cb8d-40e3-a7a3-7817cb5568a3n%40googlegroups.com.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/E9111D1D-FA9C-4B29-8E58-41B3D3515160%40gmail.com.

Reply via email to