"We were NEVER supposed to . . . " How can you know all that? Do you have a photographic memory? "You start out with your content . . . " This doesn't work for me. I don't really 'design websites', I develop software. When TCP-IP became 'the' protocol and Microsoft came out with ASP I determined that web based technology was superior for database apps to Visual Basic 5.0. It turns out that Larry Ellison said something to that effect shortly thereafter (SoftWar). My 'content' pretty much amounts to input fields, buttons and report data. When I start a project (after the conceptual spec) I ask myself "What does the user need?". I start by creating an interface, sometimes just a mock but usually html. It gives me the ability to visualize what needs to be there. Once I know what I'm doing I can implement it and debug it. Then I style it. This pretty much on a per interface basis. Really, I don't finalize navigation or style until the whole project is functioning properly. "classes for what things ARE . . . " I keep kicking myself for doing just that. It's easier to write an interface and just name all the classes what they are instead of naming and using classes based on their collection of properties. I try to generalize classes so I can keep the file small. It isn't working. lol "in an external stylesheet " Why not a style tag? "you should not be saying what things look like in the markup" You mean like Text10Bold Standout or ContrastSm ?? Hmm "rarest of corner cases" WHEW I'm almost in compliance. "CSS variables" I waited for that to show up for a long time. They let me create a stylesheet that can do different skins. That's great for marketing to multiple vertical markets. "style=""" Just for the record, I'm in development and I've still got to clean up a lot of that stuff - after it works. ""this is only for screen" I don't see the point if the only devices that will use it have a screen. Like I don't see the point of covering for non-javascript devices if the only devices that will use it are required to be able to execute javascript. I can't write software without a programming language. "maintain, or have to slice up i" agreed that first code is a mess. I generally just use a class for the heading: tdHeading1. To be honest the class is usually more specific than that (what it is) but I do have that class in my file. So - .tdHeading1 vs. .myTable th[scope="col"] Sometimes I do it closer to how you're doing it but I've never used scope. "Missed caching or pre-caching opportunity." Oh, OK, *exactly* what I'm trying to prevent when I use <style> (which is pretty rare). "one or two grouping classes and leveraging selectors" Write as little code as you can without compromising performance, object oriented programming. 'class="bg-darkBlue font-bold text-center text-white"' - If I had a programmer do this I'd fire him on the spot. Yea that's bad. I guess I do tend to name things based on what they are and not what they look like. "not just accessibility, but efficiency." The th does nothing for me. I just use 2 different classes for the header & body. You do have me a bit concerned about accessibility though so for the sake of that I don't mind changing it too much (I probably don't have more than a million heading td tags in this app. lol). "page-loads or pre-cached" People that use SaaS repeatedly use the same interfaces, usually with different data. This is absolutely critical for me. When I'm debugging turn all cache OFF. When the interface is in production turn all caching ON. I don't want users having to download the CSS every time they use the app. There are cases when I do want them to download the CSS every time. Those cases aren't usually for repeat users though. "doing something that has no business being done with web technologies." There you have it. Sorry, it's the best tech I know to do my job. Others who run SaaS I think would also tend to disagree with you. Until it becomes illegal I'll use html, css, Javascript, PHP, MySql and anything else I can get my hands on to accomplish what *I* am endeavoring to do. Sorry, I don't really care what it was or even still is intended for. "client-side scripting being an App" not quite but it's called by the client-side script. "need more than 48k of CSS" mine's at 85K right now. I've got more to add but I'll consolidate it when I'm done. The reason it's so big is that I keep naming classes by the interface -> element instead of by property collections. "32k as the upper limit." How can you say that when you don't know how big the app is? Some apps (including this one) have more than one section of interfaces. I like to make sections (NOT the element) like management visually different from other sections like reporting. That makes for bigger CSS. "database is the real bottleneck" For me bandwidth is always the bottleneck. The report I'm working on now uses an ungodly number of queries to get the data. If it lags it's because the internet is bottlenecked, not because of all the database queries. As of now, my database server and web server are on the same machine. If I have to split them I'll be sure to put a real fat pipe between them. "How is that more convenient?" I'm not going to count them but I've got somewhere around 300 pages that deliver html. Pretty much all of them are interfaces. When I split the file up (php, javascript, html) I keep having to jump back and forth between files to develop the interface. If they're all in one file I can just scroll up & down to get to the code I need. I've tried it the other way and still have a few interfaces that work that way. Also again, when the javascript is in the php file I can execute server side code which dynamically writes javascript being nested within the javascript. It's difficult to do it my way with a whole team. I write all my code myself. "one or two <script> in a page" Pretty consistently 1 per interface. It looks like you think I should be writing this app with no client side code. That'd be a challenge. Maybe someday I'll try it "template tag" that's nice. I didn't know about it. I don't see why the template script is 'wrong' but maybe I'll change them to template tags (especially if you can give me a reason to). "insecure trash like innerHTML" I don't think by your rules I could ever pull this app off. ""web apps" with their script-tard only solutions are my mortal enemy." I see. Well me and all those other SaaS guys; lol I'm guessing you really hate things like chart.js. "double entry accounting systems, I also wrote 3d code" very impressive. I've worked quite a bit with accounting systems, both web based and not but I've never written one from scratch. "I coded it how I would for a website." I noticed . A lot of it would never have worked. But I look for what I can use out of it so I very much appreciated it. "violated a rule of web accessibility" I would love to see your version of this app without javascript. I might be able to do it but it'd be one helluva lot of work. "I wouldn't be using web technologies" Have you ever experienced DLL Hell? A wonderful technology from Microsoft. My app is SaaS. It's a web based database software application. Sorry, from my perspective html, css, javascript is for me to use as I see fit for my purposes. Have you got a better technology for a database application to be used by a large number of users over the internet from anywhere in the world? "Attribute selectors are very powerful" I use them all the time to FIND elements via querySelector but I didn't realize I could put [] tags directly into the css to identify attributes and set styles for them. That's really nice. THANKS "setProperty" I didn't realize I could do that to set CSS variables either and many times wished I could. Again THANKS! I've gotta change some code I've got to use that instead of what I'm doing. "Because of course PHP can't do that on its own." I've seen PHP screw that up a little. Generally it works fine for me. "send XML of their e-mail address and" ugh, that's bad. I tried changing div tags to section tags. As I recall, I lost programmatic functionality because the section tags didn't have what the div tags had. I don't remember the details anymore. Basically I couldn't do with the section tag what I was doing with the div tag. I'll try it again and I'll use all the correct tags. We'll see how it goes. I really would like the app to be as accessible as possible. I'll keep thinking about it but right now I don't see how I could develop this app without Javascript. Thanks again for your lengthy reply.