> For example, opacity. The "support" check is whether style.opacity > works correctly, but if it doesn't then it is _assumed_ that using > alpha is the fix. This is the wrong logic. Instead, you should check > specifically for whether alpha is required. A browser may exist (in > theory) that doesn't support style.opacity or alpha, and needs some > other fix. Same thing with cssFloat vs. styleFloat or style vs. > cssText, etc. You should be testing for non-standard functionality, > not testing for the standard behavior and if it's not correct then > assuming what the fix should be. > > Is there any reason feature detection was implemented in this way?
Why would we test for non-standard behavior first? This would mean that a browser that implements both a standard and non-standard behavior would see a non-standard preference - which seems quite wrong. As to the logic structure that we use: if ( support_standards ) use_standards_technique() else use_other_known_technique(); The reason why we choose this structure is that there really isn't a third option. If a browser doesn't support opacity and doesn't support filters then there's really nothing that we can do (or, more precisely, nothing that we should do). We work within the confines of the browsers that we actively support. If any of our jQuery.support tests had three possible solutions then we would certainly opt for that instead (but, as it turns out, all the things that we test for only fail in a single browser, yielding only one correct alternative solution). You're confusing our solution with a different problem set - we designed this to work well with all browsers that we support and their future releases (for when bug fixes come down the line) - you're talking about something that works for all current browsers and any theoretical past releases. That is a fools game and one that is both impractical and illogical to follow. --John --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---